avva: (Default)
[personal profile] avva
Будет интересно только программистам, знающим C++.

Небольшая загадка. Предугадайте, что напечатает следующая программа, не запуская ее. Потом проверьте себя, если интересно. Комменты не скрываются.
#include <iostream> #include <map> #include <string> using namespace std; int main() { map<int, string> m; double d = 123456.789; m[0] = d; cout << "m[0]=" << m[0]; return 0; }

Date: 2010-06-26 08:18 pm (UTC)
From: [identity profile] http://users.livejournal.com/_navi_/
Самое интересное во всей этой истории — это отутствие какой-либо вменяемой системы с предупреждениями о неявных преобразованиях в разных версиях gcc/g++: кажется, было даже так, что g++ какой-то версии на Mac OS X не выдавал предупреждение, а на Linux выдавал.

Date: 2010-06-27 08:13 am (UTC)
From: [identity profile] helvegr.livejournal.com
-Wconversion, -Wsign-conversion

Date: 2010-06-27 09:39 am (UTC)
From: [identity profile] http://users.livejournal.com/_navi_/
не помогало, я разное тогда испробовал. Кажется как раз в макоси было сломано.

Date: 2010-06-27 09:44 am (UTC)
From: [identity profile] helvegr.livejournal.com
В моей макоси помогает.

Date: 2010-07-02 12:58 pm (UTC)
From: [identity profile] moon-aka-sun.livejournal.com
Да, cygwin на win7 с -Wconversion стал выдавать предупреждение. С -Wall не выдавал.

g++-4 (GCC) 4.3.4 20090804 (release) 1
Copyright (C) 2008 Free Software Foundation, Inc.

January 2026

S M T W T F S
    1 2 3
4 5678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 6th, 2026 04:51 am
Powered by Dreamwidth Studios