« Отговор #12 -: Jan 31, 2010, 13:18 »
@crusher: Реализирал си един от най-неприятните бъгове в С,С++ (поне според мен) и то още в самото начало. "Което е добре!" (Б.Турбото). В книгата Expert C Programming именно с това започват и са дали един полезен съвет, който се опитвам да спазвам. Когато имаш проверка за равенство (a.k.a оператор ==) може да слагаш константния израз (ако има такъв) от лявата страна. Тогава дори да си допуснал грешка (= вместо ==) компилатора ще те наплюе с грешка от рода lvalue нещо си.
@tyuio: Всъщност най-вероятно си използвал static променливи, без обаче изрично да си го заявил. Например - всички глобални променливи, които дефинираш, са по същество статични, дори без да използваш ключовата дума static. За тях е вярно, че можеш напълно убедено да вярваш, че са инициализирани и то с нула. (Ех, този Весо Компилатора - голям идиот, ама хубави неща ни научи)
Поздрави,
Ицо