「cpp/language/explicit」の版間の差分
提供: cppreference.com
細 (Use {{lc}}. Update links. Various fixes.) |
|||
1行: | 1行: | ||
− | + | {{title|explicit }} | |
− | {{title|explicit | + | {{cpp/language/navbar}} |
− | {{cpp/language/navbar}} | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
{{sdsc begin}} | {{sdsc begin}} | ||
− | {{sdsc | + | {{sdsc| |
− | {{ | + | {{|explicit}} |
+ | |||
+ | {{|{{}} | ||
+ | {{|explicit }} {{spar|}} {{}} | ||
+ | }} | ||
{{sdsc end}} | {{sdsc end}} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
===例=== | ===例=== | ||
{{example|code= | {{example|code= | ||
struct A | struct A | ||
{ | { | ||
− | A ( int ) {} | + | A(int) { } |
− | + | ||
− | operator | + | operator () const { return ; } |
}; | }; | ||
struct B | struct B | ||
{ | { | ||
− | explicit B(int) {} | + | explicit B(int) { } |
− | explicit | + | explicit int |
+ | () const { return ; } | ||
}; | }; | ||
int main() | int main() | ||
{ | { | ||
− | + | A a1 = 1; | |
− | A a1 = 1; | + | A a2(2); |
− | A a2 ( 2 ); | + | A a3 {}; |
− | A a3 { | + | int |
− | int na1 = a1; | + | |
− | + | ||
− | + | na1 = a1; | |
− | + | na2 = static_cast<>(a1); | |
− | B b2 ( 2 ); // | + | |
− | B b3 { | + | B b1 = 1; // :B |
− | + | B b2(2); // : | |
− | + | B b3 {}; // : | |
+ | int | ||
+ | = | ||
+ | b2; // : | ||
+ | B | ||
+ | nb2 = static_cast<>(b2); // | ||
} | } | ||
}} | }} | ||
− | + | deenesfritptruzh | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |