Добрый день!
Как Вы считаете, чем закончиться выполнение такой программы?
#include <cassert>
const wchar_t * const String1 (L"Test String!");
const wchar_t * const String2 (L"Test String!");
int main ()
{
assert ((String1 != String2) && "c++ changed today");
return 0;
}
И самое главное, где это отключить?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
N>#include <cassert>
N>const wchar_t * const String1 (L"Test String!");
N>const wchar_t * const String2 (L"Test String!");
N>int main ()
N>{
N> assert ((String1 != String2) && "c++ changed today");
N> return 0;
N>}
N>
Сравниваются не строки, а указатели на них. А они не равны. Детская ошибка.
Надо использовать wcscmp или std::wstring
N>И самое главное, где это отключить?
Что отключить? Стандарт С++?
Здравствуйте, astral_marine, Вы писали:
_>Сравниваются не строки, а указатели на них. А они не равны. Детская ошибка.
Это понятно, ты лучше скажи чем всё это дело закончиться?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, astral_marine, Вы писали:
_>Сравниваются не строки, а указатели на них. А они не равны. Детская ошибка.
Если включен при компиляции String pooling (/GF) то могут быть и равны.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>