>> 3. Язык препроцессора #define #ifdef и т.д.
> за это в цпп рекомендуется сначала обрывать уши, а потом руки.Ваш вариант include guards без препроцессора.
Ваш вариант #ifdef WINDOW #ifdef UNIX для кросплатформенных приложений.
Ваш вариант __LINE__ __FILE__
Ваша замена #ifdef DEBUG
Если у вас есть рабочий, кроскомпиляторный, кросплатформенный вариант include guards без ifdef / pragma оставляйте ваши координаты, вы меня заинтересовали.
> если нечто «полное по тьюрингу», это ещё не значит, что надо сразу
> писать на этом код, использующий данную фичу.
Написание нетривиального кода на С++ без Boost затруднительно.
Api библиотек Boost это большое количество шаблонного кода. Весьма большое.
Написание нетривиального кода на С++ без STL затруднительно вдвойне.
Api библиотек STL это большое количество шаблонного кода. Весьма большое.
>> 5. с++11 constexpr - выполняется на этапе компиляции
> конечно, без этого никак вообще. а до 11 жизни не было.
Конечно можно. И обходились. С помощью препроцессора.
> бедняга, тяжело тебе, наверное. ни про библиотеки не знаешь, ни про фрэймворки…
> скорее всего, даже не поймёшь, к чему я их тут упомянул.
Я сомневаюсь, что вы разбираетесь в С++, хотя бы на уровне junior developer, вы уж извините.
Но, у вас есть шанс меня переубедить.
Опишите пожалуйста основную проблему следующего кода:
class Point{
public:
int x;
int y;
Point(...){...}
virtual ~Point(){...}
};
int main(){
...;
Point *p = new Point(...);
// ... - некий, не важный для нас, код.
}