#include <iostream>
#include <vector>
using namespace std;

int main(void)
{
	vector<int> vec;
	vec.push_back(1);
	vec.push_back(2);
	vec.push_back(3);

	/* 상수포인터, 비상수 데이터 T * const pT 형식으로 동작함 */
	/* 해당 주소값의 데이터를 변경할 수 있지만, 주소값은 변경할 수 없다. */
	const vector<int>::iterator iter = vec.begin();
	*iter = 10; 
	++iter;

	/* 비상수 포인터, 상수 데이터 const T * pT 형식으로 동작함 */
	/* 해당 주소값을 데이터는 변경할 수 없고, 주소값은 변경할 수 있다. */
	vector<int>::const_iterator cIter = vec.begin();
	*cIter = 10;
	++cIter;
}

[ 출저 ] - Effective C++ Page 59 - 70


블로그 이미지

행복그리고..

,
#include <iostream>
using namespace std;

#define DISALLOW_COPY_AND_ASSIGN(ClassName) \
	ClassName(const ClassName&); \
	void operator=(const ClassName&);

class ClassName 
{
private:
	DISALLOW_COPY_AND_ASSIGN(ClassName);
public:
};

int main(void)
{
	ClassName AclassName;
	ClassName BclassName;
	/*
		매크로선언으로 대입불가능
	*/
	AclassName = BclassName;
}

[ 출저 ] - 읽기 좋은 코드가 좋은 코드다 Page 37 - 38

블로그 이미지

행복그리고..

,