Сообщение Re[21]: Как записать такое в современном C++? от 31.07.2024 19:53
Изменено 31.07.2024 19:58 kov_serg
Re[21]: Как записать такое в современном C++?
Здравствуйте, B0FEE664, Вы писали:
BFE>И вообще, попробуйте поспрашивать коллег, что выведет следующий код:
BFE>
Да C++ он такой
Ему мало значения константы, ему надо еще и мозг по выносить.
BFE>И вообще, попробуйте поспрашивать коллег, что выведет следующий код:
BFE>
BFE>#include <iostream>
BFE>enum AB
BFE> {
BFE> a = 1,
BFE> b = 0xF0000000
BFE>};
BFE>enum CD
BFE> {
BFE> cd_c = 1,
BFE> cd_d = 0xF00000000
BFE>};
BFE>int main()
BFE>{
BFE> if ( sizeof(a) == sizeof(cd_c) )
BFE> std::cout << "yes";
BFE> else
BFE> std::cout << "no";
BFE>}
BFE>Да C++ он такой
enum E1 { e1_c1=1 };
enum E2 { e2_c1=1 };
void fn(enum E1 e) { std::cout<<"fn.E1\n"; }
void fn(enum E2 e) { std::cout<<"fn.E2\n"; }
void fn(char e) { std::cout<<"fn.char\n"; }
void fn(signed char e) { std::cout<<"fn.schar\n"; }
void fn(unsigned char e) { std::cout<<"fn.uchar\n"; }
void fn(short e) { std::cout<<"fn.short\n"; }
void fn(int e) { std::cout<<"fn.int\n"; }
void fn(unsigned e) { std::cout<<"fn.uint\n"; }
void fn(long long e) { std::cout<<"fn.llong\n"; }
void test() {
fn(e1_c1);
fn(e2_c1);
fn('\x01');
fn(+'\x01');
fn(1);
fn((char)1);
fn((unsigned char)1);
fn((signed char)1);
fn((short)1);
fn(1u);
fn(1LL);
}fn.E1
fn.E2
fn.char
fn.int
fn.int
fn.char
fn.uchar
fn.schar
fn.short
fn.uint
fn.llongЕму мало значения константы, ему надо еще и мозг по выносить.
Re[21]: Как записать такое в современном C++?
Здравствуйте, B0FEE664, Вы писали:
BFE>И вообще, попробуйте поспрашивать коллег, что выведет следующий код:
BFE>
Да C++ он такой
Ему мало значения константы, ему надо еще и мозг по выносить.
BFE>И вообще, попробуйте поспрашивать коллег, что выведет следующий код:
BFE>
BFE>#include <iostream>
BFE>enum AB
BFE> {
BFE> a = 1,
BFE> b = 0xF0000000
BFE>};
BFE>enum CD
BFE> {
BFE> cd_c = 1,
BFE> cd_d = 0xF00000000
BFE>};
BFE>int main()
BFE>{
BFE> if ( sizeof(a) == sizeof(cd_c) )
BFE> std::cout << "yes";
BFE> else
BFE> std::cout << "no";
BFE>}
BFE>Да C++ он такой
enum E1 { e1_c1=1 };
enum E2 { e2_c1=1 };
void fn(enum E1 e) { std::cout<<"fn.E1\n"; }
void fn(enum E2 e) { std::cout<<"fn.E2\n"; }
void fn(char e) { std::cout<<"fn.char\n"; }
void fn(signed char e) { std::cout<<"fn.schar\n"; }
void fn(unsigned char e) { std::cout<<"fn.uchar\n"; }
void fn(short e) { std::cout<<"fn.short\n"; }
void fn(int e) { std::cout<<"fn.int\n"; }
void fn(unsigned e) { std::cout<<"fn.uint\n"; }
void fn(long long e) { std::cout<<"fn.llong\n"; }
void test() {
fn(e1_c1);
fn(e2_c1);
fn('\x01');
fn(+'\x01');
fn(1);
fn((char)1);
fn((unsigned char)1);
fn((signed char)1);
fn((short)1);
fn(1u);
fn(1LL);
fn(+e1_c1);
fn(+e2_c1);
}fn.E1
fn.E2
fn.char
fn.int
fn.int
fn.char
fn.uchar
fn.schar
fn.short
fn.uint
fn.llong
fn.int
fn.intЕму мало значения константы, ему надо еще и мозг по выносить.