對此的動機是(很少)我需要知道類構造函數或函數的輸入參數通常是const。通常當這個類是一個「自動化」某個過程的助手時。
例子:
Is this the OK scoped way to get random element from the container?
如果你在看代碼很顯然,如果傳遞給構造方法的容器改變後級的功能被破壞。那麼有沒有辦法讓函數「demand」const而不是「promise」const。有沒有辦法聲明函數的輸入參數必須是const引用?
例子:
int f(const vector<int>& v)
{
return v.size();
}
int main()
{
vector<int> v;
v.push_back(42); // can f be changed to reject v because it is not const
cout << f(v);
}
我不明白 - 如果該參數被聲明爲'const'引用,那麼這是一個承諾*和*需求,不是嗎? – 2012-02-01 17:14:28
INT F(常量矢量&V) { \t返回v.size(); } INT主() { \t 向量V; \t v.push_back(42); \t cout << f(v); } v是不const的,在f拒絕非const輸入PARAMS又名要求常量輸入參數 –
NoSenseEtAl
2012-02-01 17:19:08
我意識到,在回家的路上 - 忽略我先前的評論,這是無稽之談。 – 2012-02-01 21:38:25