我正在嘗試Scott Meyers Effective C++的一些代碼,特別是第3項。指向引用的分段錯誤指針
在他的著作中的代碼應該是非常相似,這(他離開了構造函數)
#include <iostream>
class TextBlock {
public:
TextBlock(char* ptr) : ptrText(ptr)
{}
char& operator[](std::size_t pos) const {
return ptrText[pos];
}
private :
char* ptrText;
};
int main(int argc, char* argv[]) {
const TextBlock block("Hello");
std::cout << block[0] << std::endl;
char* ptr = &block[0];
*ptr = 'J';
std::cout << block[0];
}
在那裏我改變指針PTR內容的點(* PTR =「J」;) ,我得到了分段錯誤(通常在解引用未初始化或釋放的指針時發生)。這裏沒有發生,*ptr = 'J'
出了什麼問題;
指向引用的指針是不可能的。 – chris
@MikeSeymour,就像標題一樣無關;) – chris
@chris:對不起,我沒有注意到標題。 –