cpp_explicit - 8BitsCoding/RobotMentor GitHub Wiki
explicit
explicit
μ μ : λͺ μμ νΈμΆλ§ νμ©
- μ’ λ μμΈν μ€λͺ νμλ©΄... C++ μ»΄νμΌλ¬λ ν¨μμ μΈμλ‘ λ€μ΄μ€λ κ°μ μμμ νμ μ λ§κ² λ°κΏ μ μλ€. μμ λ‘ λ³΄μ.
class Foo {
public:
int m_foo;
Foo( int foo ) : m_foo(foo) {}
};
void printM_foo( Foo foo ) {
cout << foo.m_foo << endl;
}
int main() {
int num = 43;
printM_foo(num);
}
// μλ κΊΌ κ°μ§λ§ μ λλ€. μ»΄νμΌλ¬ μ체μμ λ³μλ₯Ό λ°κΏμ£ΌκΈ° λλ¬Έμ΄λ€.
νΉμλ λͺ¨λ₯Ό λ²κ·Έλ°©μ§λ₯Ό μν΄μ explicitμ ν΅ν΄μ λ§μ보μ.
class Foo {
public:
int m_foo;
explicit Foo( int foo ) : m_foo(foo) {}
};
// μμ±μ μ μΈμ ν μ λͺ
μμ μ μΈμ΄ νμ.
void printM_foo( Foo foo ) {
cout << foo.m_foo << endl;
}
int main() {
int num = 43;
printM_foo(num);
}