讀取位置時發生訪問沖突
發布時間: 2025-09-30 16:05:45
1. c++錯誤0x... 處(位於... .exe 中)引發的異常: 0xC0000005: 讀取位置 0x...時發生訪問沖突
例:
int a[3] = { 1, 2, 3 };
int *p = a;
則p、p+1、p+2分別指向數組a的3個元素。不需要自己推算實際佔用大小,這是編譯器的事情
ifstream inFile;
ofstream outFile;
outFile.open("c:\b.txt",ios::out);
char univ[] = "Tsinghua",name[10];
int course = 111,number;
outFile<<univ<<endl;
outFile<<course<<endl;
inFile.open("c:\b.txt",ios::in/*|ios::nocreate*/);
if(!inFile){
cout<<"不能打開b.txt"<<endl;
char c;
inFile>>name>>c>>number;
outFile<<"name:"<<name<<endl;
outFile<<"number:"<<number<<endl;
右值引用與轉移語義
在舊標准C++語言中,臨時量(術語為右值,因其出現在賦值表達式的右邊)可以做參數傳給函數,但只能被接受為const &類型。這樣函數便無法區分傳給const &的是真正的右值還是普通const變數。而且,由於類型為const &,函數也無法改變所傳對象的值。
C++0x將增加一種名為右值引用的新的引用類型,記作typename &&。這種類型可以被接受為非const值,從而允許改變其值。這種改變將允許某些對象創建轉移語義。
以上內容參考:網路-c++0x
熱點內容