(głębsze) różnice między C a C++

0

Chodzi mi o to, czy znając dobrze C i C++ warto inwestować czas w doskonalenie czystego ANSI C i potem C++ czy od razu C++; czy C++ zawiera cały C, jeśli nie to jakie są różnice.

Znam sie na C i C++ dość dobrze, więc nie przysyłajcie postów o treści oczywistej dla względnie doświadczonego programisty np. że C++ ma klasy i tym podobne.

0
BuczBucz napisał(a)

Chodzi mi o to, czy znając dobrze C i C++ warto inwestować czas w doskonalenie czystego ANSI C i potem C++ czy od razu C++; czy C++ zawiera cały C, jeśli nie to jakie są różnice.

Znam sie na C i C++ dość dobrze, więc nie przysyłajcie postów o treści oczywistej dla względnie doświadczonego programisty np. że C++ ma klasy i tym podobne.

http://david.tribble.com/text/cdiffs.htm
http://stuff.mit.edu/iap/c/week2_day3/notes

Variable-length arrays w C99, nie ma (jeszcze?) w standardzie C++.
W C99 jest taka fajna rzecz (w C++ jest konstruktor od tego) jak compound literals :), np.:

drawline((struct point){.x=1, .y=1}, (struct point){.x=3, .y=4});

int *p = (int []){2, 4};

Słowa kluczowa w C99: restrict, _Bool, _Complex, _Imaginary, _Pragma
i parę innych jeszcze...

Oczywiście mówimy o standardzie, kompilator może zezwalać na używanie tych rozszerzeń w C++ domyślnie, niekoniecznie wszystkich (np. GCC).

Doskonalenie ANSI C?? Tak, ale PO tym jak udoskonalisz C++ :) OOP, generic programming, prosta przesiadka do Javy, C#.

0

A tak z praktycznego punktu widzenia to czy C się opłaca? Znaczy, czy są rzeczy, które można łatwo zrobić w C a w C++ nie (przy czym nie mówie tylko o jakichś tajemniczych zabawach z wskaźnikami, czego nigdy nigdzie się nie zastosuje...)?

0

nik ci nie każa pisać w czystym c czy czystym c++. bierzesz kompilator c++ i piszesz jak chcesz. wszyscy tak w mniejszym badz wiekszym stopniu robia

0
doqro8ej napisał(a)

nik ci nie każa pisać w czystym c czy czystym c++. bierzesz kompilator c++ i piszesz jak chcesz. wszyscy tak w mniejszym badz wiekszym stopniu robia

Amen.
EOT(?)

1 użytkowników online, w tym zalogowanych: 0, gości: 1