explicit : 명백한, 명시적
mutable : 변하는, 변하기 쉬운
explicit으로 생성자가 복사 생성자의 형태로 호출 x
class내에서 explict CLASS(int a); 선언
ex) Class obj = 5; -> X
ex) Class obj(5) -> O
mutable
#include <iostream>
class A {
private:
mutable int t; // mutable을 선언해서 const함수 안에서 멤버변수의 값을 변경할 수 있음
// mutable을 선언안하면 DomSomeThing에서 오류뜸
public:
A(int a);
void DoSomeThing(int x) const;
void print() const;
};
A::A(int a) : t(a) {}
void A::DoSomeThing(int x) const {
t = x; // if modify t? in const function -> using mutable variable!
}
void A::print() const {
std::cout << t << std::endl;
}
int main() {
A a(10);
a.DoSomeThing(11);
a.print();
}
'나 보려고 만든거' 카테고리의 다른 글
녹스, VMware, WSL2 hyper-v 끄고 키기 (0) | 2021.05.20 |
---|---|
Linux Named PIPE (FIFO) (0) | 2021.03.25 |
c++ constructor member initializer list (0) | 2021.01.05 |
iOS WebView Hook (0) | 2020.10.28 |
iOS Hooking (0) | 2020.10.25 |