c primer讀書筆記(2)

2021-07-27 06:44:16 字數 2098 閱讀 5662

第四章總結:

1、不能將乙個陣列賦值給另乙個陣列

2、string是以\0結尾的,char如果沒有特別賦值時,是沒有的,只能是字元陣列,不是字串。

3、通過cin輸入的字元中,用空字元(空格、回車、製表符等)來結尾。

4、new分配的記憶體一般存在堆(heap)或者自由儲存區中,變數宣告的記憶體一般存在棧(stack)中.

5、c++管理記憶體的方式:自動儲存,靜態儲存,動態儲存。

(1)自動儲存:區域性變數,放在棧中,先進後出。

(2)靜態儲存:static 或者寫在函式外。

(3)動態儲存:new出來的都是,放在堆中。

test.h檔案

#ifndef _test_h_

#define _test_h_

#include

using namespace std;

class test

;#endif

test.cpp檔案

#include "test.h"

#include

using

namespace

std;

test::test(char c)

test::~test()

test * test::gettest()

main.cpp

#include 

#include "test.h"

using

namespace

std;

static test test('a');

int main()

執行結果:

因為a是靜態變數,所以程式啟動的時候先建立了a,然後才進入main函式。

在gettest函式內先建立了b,然後new了乙個c。b是宣告出來的,所以函式結束之後,就會刪除掉,而c是new出來的,放在堆中。

走完main函式,在外面才刪除了a。靜態變數是在關閉程式的時候才**的。

而c,c的析構函式沒有走到。證明在堆中的記憶體,程式是不會**的.

6、vector初始化化可以用{}直接包含一些元素進去。

7、把字串指標強制轉換為整型指標,cout輸出的就是字串的位址。

8、cin輸入的問題:不能讀整行,可以用cin.getline(buffer,size);來讀取。

在連續使用cin的時候,cin.get()可以用來吃掉cin輸入最後的回車\n;

第五章總結

1.要輸出bool,要設定標記,預設是輸出0和1的。

cout.setf(ios_base::boolalpha);

cout << true << endl;

2、c++11支援在for(int i = 0; i < len; i++)直接定義迴圈變數,同時出了迴圈i的作用域失效。

3、cin>>ch,跳過空格、換行符、製表符。cin.get(ch) 和 ch = cin.get()可以讀取這些字元

4、部分總結與c語言部分重複較多就不一一列出了。

第六章總結:

1、下面是c++primer書上一些字元庫函式,程式設計的時候還是很方便的。

字元函式庫標頭檔案

isalnum() 字母或數字

isalpha() 字母

iscntr() 控制字元

isdigit() 數字(0 - 9 )

isgraph() 空格之外的列印字元

islower() 小寫字母

isprint() 列印字元,包括空格

ispunct() 標點符號

isspace() 標準空白字元,如空格,進紙,回車,水平製表符,垂直製表符

isupper() 大寫字母

isxdigit() 十六進製制字元

tolower() 如果是大寫,轉小寫

toupper() 如果是小寫,轉寫

2、第六章的講的東西跟c語言重複很多,因此不再此一一列出。

《C Primer》讀書筆記(2)

1.const關鍵字 當我們定義一種變數,不希望改變其值的時候,使用const關鍵字來修飾。即常量。使用的時候一定要注意,定義乙個常量的時候一定要初始化,且只能在初始化的時候賦值,之後不能進行修改。2.const引用 這個地方經常糾結,這次一定要搞懂。常量引用不是引用是個常量,而是引用的物件是個常量...

《c primer》讀書筆記2

筆記的範圍 1.2節 在1.1 節中,作者提出乙個問題並用分而治之和獨步求精的思想給出了解決方案,我在這裡再重複一遍。在學習乙個新東西之前。該從它的思想入手,我的建議是 在讀完第二篇之前最好不要動手上機,這樣做的好處是你可以避免很多莫名其妙的笨問題。關於這點,我會在以後的筆記中試圖證明。在本節中,作...

C primer 讀書筆記

第2 章 變數和基本型別 1 變數直接初始化和變數 複製初始化 int ival 1024 direct initialization int ival 1024 copy initialization 初始化不是賦值 2 內建型別復 制初始化和直接初始化幾乎沒有區別 但 對類型別物件來 說,有些初...