#include <iostream> struct Foo { Foo() : x(2) {} int x; }; struct Bar : public Foo { Bar() : x(3) {} int x; }; int main() { Bar bar[100]; Foo* p = bar; int total = 0; for( int i = 0; i < 10; ++i ) total += p++->x; std::cout << total << std::endl; return 0; } Интересно, у кого-нибудь будет total != 25 ? P.S. Фокус тут в p++.
Ответ на:
комментарий
от aton
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Скомпилируется ли это под оффтопиком? (2012)
- Форум Неявное преобразование шаблонных структур (2017)
- Форум вопрос по С++ (операторные функции) (2008)
- Форум gcc cos(1)=0.540302 (2011)
- Форум 'this' in lambda and in class method is not the same when using vector of std::thread (2021)
- Форум в чём ошибка? munmap_chunk (2017)
- Форум Поле типа unique_ptr и деструктор (2019)
- Форум [C++] Перегрузка new и delete в производном классе (2011)
- Форум C++ override методов. (2021)
- Форум Продолжим про исключения!! (2007)