3
我有一個動態數組包裝模板這樣的:訪問指針for循環
class Wrapper {
public:
T* const start;
T* const end;
T* begin() const { return start; }
T* end() const { return end; }
/*
more code
*/
};
賦予經由環路值和參考存取:
Wrapper<T> wrapper;
for(auto val : wrapper) {
//do smth to value
}
for(auto& ref : wrapper) {
//do smth to reference
}
。我現在要創建一個基於for循環的範圍是相同的:
for(auto ptr = wrapper.start; ptr != wrapper.end; ptr++) {
//do smth to pointer
}
,即我要在包裝一系列基於循環授予訪問權限的指針。有沒有辦法做到這一點,而不創建一個指向我的包裝內的指針數組指針?
編輯:
達尼在註釋方案,如同已經指出here。我實際上想知道是否有一種方法可以製作下面的語法:
for(auto ptr : wrapper) {
//do smth
}
作爲循環的C風格上面。
你可以從參考文獻 – Dani
中得到一個指針你的意思是:'for(auto&ref:wrapper){auto ptr = &ref;}'?我可以以某種方式改變'begin()'和'end()'方法來使這個工作隱含起來:'for(auto ptr:wrapper){/ * do smth * /}'? –