常量指標指向的內容不可以修改,指標的指向可以修改;指標常量的指向不可以修改,指標指向的值可以修改。
void
const_pointer
()
c++中有三種方法來動態申請多維陣列
1) c中的malloc/free
2) c++中的new/delete
3) stl容器中的vector
第一種: malloc/free
/**
* c++動態申請多維陣列
* 第一種 malloc/free
* @param len 一維陣列大小
* @param m 二維陣列行數
* @param n 二維陣列列數
*/void
dynamiccreate1array
(int len, int m, int n)
printarray(p2, m, n);
// 釋放空間
for (int i = 0; i < m; ++i)
free(*(p2+i));
}
第二種:new/delete/**
* c++動態申請多維陣列
* 第二種 new/delete
* @param len 一維陣列大小
* @param m 二維陣列行數
* @param n 二維陣列列數
*/void
dynamiccreate2array
(int len, int m, int n)
第三種:stl容器中的vector/**
* c++動態申請多維陣列
* 第三種
* @param len 一維陣列大小
* @param m 二維陣列行數
* @param n 二維陣列列數
*/void
dynamiccreate3array
(int len, int m, int n)
}
引用的本質是指標常量
類的許可權有3種
public 類內類外都可以訪問
protected 類內可以訪問,類外不可以訪問,可以繼承
private 類內可以訪問,類外不可以訪問,不可以繼承
struct預設許可權為公共,class預設許可權為私有。
析構函式
ofstream:寫操作
ifstream:讀操作
fstream: 讀寫操作
開啟標頭檔案->建立流物件->開啟檔案->寫/讀資料->關閉檔案
模式含義
in開啟檔案用於讀取
out開啟檔案用於寫入
ate開啟檔案並移到末尾
開啟檔案用於追加
trunc
若檔案已存在,開啟檔案並截 取流(清除原有資料)
binary
以二進位製流方式開啟檔案
void
test02
()// 讀資料
// 第一種
char buf[1024] = ;
while (ifs >> buf)
// 第二種
char buf[1024] = ;
while (ifs.getline(buf, sizeof(buf)))
// 第三種
string buf;
while (getline(ifs, buf))
// 第四種
char c;
while ((c = ifs.get()) != eof)
ifs.close();
}
class
person ;
// 寫檔案
void
test03();
ofs.write((const
char *)&p, sizeof(person));
ofs.close();
}// 讀檔案
void
test04
()person p;
ifs.read((char *)&p, sizeof(person));
cout
<< "姓名:"
<< p.m_name << endl;
cout
<< "年齡:"
<< p.m_age << endl;
ifs.close();
}
C 學習記錄
由於之前寫c c 程式時,動不動就容易報錯,也就沒繼續用,一直覺得c 很難。最近在學習機器學習時,用到了乙個c 神經網路庫,並且在菜鳥教程中看到了c 的教程,於是學了一下,發現根本沒有想象中的那麼難,可能也是這個教程講的比較好吧。現在把一些學到的比較重要的點記錄一下吧!1.ifndef 突然覺得在標...
C 學習記錄
原創 主要是c 和c 不同的地方,會寫一下,流程控制什麼的都差不多,比較適合c 轉c 的人看 以前沒有系統的學過c 現在補一下,以前完全是為了看懂別人的 稍微看一下,也沒有太想在這方面下功夫,學一點是一點,目標是能修改別人的c 服務端程式。一.包含 包含原理上什麼檔案都能包含進來,但是一般只包含.c...
C 學習記錄
reserve和resize的區別 reserve是容器預留空間,但並不真正建立元素物件,在建立物件之前,不能引用容器內的元素,因此當加入新的元素時,需要用push back insert 函式。resize是改變容器的大小,並且建立物件,因此,呼叫這個函式之後,就可以引用容器內的物件了,因此當加入...