Достоинства языка C++
1)Масштабируемость. На языке C++ разрабатывают программы для самых различных платформ и систем.
2)Возможность работы на низком уровне с памятью, адресами, портами. Что, при неосторожном использовании, может легко превратиться в недостаток.
3)Возможность создания обобщенных алгоритмов для разных типов данных, их специализация, и вычисления на этапе компиляции, используя шаблоны.
Недостатки языка C++
1)Наличие множества возможностей, нарушающих принципы типобезопасности приводит к тому, что в С++-программы может легко закрасться трудноуловимая ошибка.
2)Плохая поддержка модульности. Подключение интерфейса внешнего модуля через препроцессорную вставку заголовочного файла (#include) серьёзно замедляет компиляцию, при подключении большого количества модулей. Для устранения этого недостатка, многие компиляторы реализуют механизм прекомпиляции заголовочных файлов Precompiled Headers.
3)Недостаток информации о типах данных во время компиляции (CTTI).
4)Язык C++ является сложным для изучения и для компиляции.
5)Некоторые преобразования типов неинтуитивны. В частности, операция над беззнаковым и знаковым числами выдаёт беззнаковый результат.
var t1,t2:text;
begin
assign(t1,"a.txt");
assign(t2,"b.txt");
reset(t1);
rewrite(t2);
var i:byte:=0;
var a,sum:integer;
sum:=0;
while not eof(t1) do begin
readln(t1,a);
inc(i);
if ((i+1) mod 2=0) then sum+=a;
end;
writeln(t2,sum);
close(t1);
close(t2);
end.