程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> Effective C++ Item 3 盡可能使用const

Effective C++ Item 3 盡可能使用const

編輯:C++入門知識

 


const 出現在*左邊指const data,出現在*右邊指const pointer
	char greeting[] = “Hello”;
	char *p = greeting; 				//non-const pointer, non-const data
	const char *p = greeting; 			//non-const pointer, const data
	char *const p = greeting;			//const pointer, non-const data
	const char *const p = greeting 		       //const pointer, const data


聲明常量迭代器和所指物是常量的迭代器
	std::vector vec;
	const std::vector::iterator iter = vec.begin();            //iter的作用像個T *const
	*iter = 10                              			//ok. 改變iter所指物
	++iter;                                          		//error. iter是const
	const std::vector::const_iterator cIter = vec.begin();     //cIter的作用像個const T *
	*cIter = 10                                                     //error. *cIter是const
	++cIter;                                                        //error. 改變cIter


將返回值聲明為const,避免它被當作左值,成員函數聲明為const,確認該成員函數可作用於const 對象
class Rational {…};
const Rational::operator *(const Rational *lhs, const Rational *rhs) const
參數聲明為const,避免它修改
成員函數聲明為const,確認該成員函數可作用於const 對象(const對象只能調用const 成員)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved