日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

C++ 基础

發布時間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ 基础 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.標準

1.輸入:cin >> 變量名;

2.輸出:cout << 變量名;

3.換行并清空緩沖區:endl

4.頭文件:#include<iostream>

輸入輸出流頭文件 C++中的頭文件都不用加.h

5.命名空間:using namespace std;

打開命名空間 標準C++庫中的所有組件都是一個被稱為std的名字空間中聲明和定義的

 1 #include<iostream>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     int a;
 7     char b;
 8     cin >> a >> b;
 9     cout << a << " " << b << endl;
10 
11     return 0;
12 }

二.作用域 命名空間

1.不同作用域的變量可以重名 使用時 用的是離的近的 作用域小的

2.作用域運算符:::

如果前面沒有類名 命名空間名字代表全局的

 1 #include<iostream>
 2 using namespace std;
 3 
 4 namespace Bird
 5 {
 6     int nAge = 100;
 7 }
 8 
 9 namespace Person
10 {
11     int nAge = 200;
12 }
13 
14 using namespace Bird;
15 
16 int main()
17 {
18     cout << nAge <<endl;
19     cout << Person::nAge <<endl;
20 
21     return 0;
22 }

注:::的前面可以放命名空間的名字 類名 或者什么都不放

三.動態分配內存和釋放

1.創建:指針變量 = new 數據類型;

注:new也是在堆區分配空間

1 int* p = new int;
2 cin >> *p;
3 cout << *p;

2.刪除:delete 指針變量;

1 delete p;
2 p = 0;

注:這個是把p指向的空間刪了 但是指針還在 還裝著原來的地址

3.舉例應用:

①一維數組:

1 int* arr = new int[3];
2 delete[] arr;
3 arr = 0;

②二維數組:

1 int (*arr)[3]= new int[2][3];
2 delete[] arr;
3 arr = 0;

注:在刪除數組的時候 不管是幾維的 只寫一個中括號就可以了

③特別注意:在new的時候 []不要打成() !!!

1 int* arr = new int(10);

比如說這行代碼 代表的是分配了一個空間 并且用10把這個空間初始化了

如果讓arr[1] = 100的話就會崩 因為越界了 操作了不屬于你的內存空間

所以因此我們也get到了一個新的初始化的方法:

1 int b(100);

這行代碼執行完 b就是100了

四.范圍for(C++11新標準)

1.自動遍歷數組 直到最后一個元素:

 1 #include<iostream>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     int arr[10] = {0,1,2,3,4,5,6,7,8,9};
 7     for(int nVal : arr)
 8         cout << nVal << endl;
 9 
10     return 0;
11 }

nVal是一個值 即nVal→arr[i]

把每一個arr中元素的值裝到nVal中 遍歷一次裝一個 會自動的遍歷到最后

如果想控制數組的話還是要用for循環int i的那種方法去控制

2.auto:

 1 #include<iostream>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     int a = 100;
 7     auto b = a;
 8 
 9     return 0;
10 }

那么b就是int類型的 auto會自動識別對應的類型 所以可以在for循環中去用auto

 1 #include<iostream>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     int arr[10] = {0,1,2,3,4,5,6,7,8,9}; 
 7     for(auto nVal : arr)
 8     {
 9         cout << nVal << endl;
10     }
11 
12     return 0;
13 }

五.bool布爾類型

1.bool類型占一個字節 而Win32中的BOOL類型是把int重命名占4個字節

2.返回類型:可以用于只有兩種情況的時候

①true 1

②false 0

3.如果函數返回值通常是bool類型 代表這個函數是否執行成功

在寫if()括號中的判斷條件的時候 一定要注意些兩個等號 不要丟等號

如果是一個等號 狠可能就進到if中了(0→假 非0→真)

六.string

1.直接看段代碼:這段代碼是錯的錯的錯的!!!

 1 #include<iostream>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     char* pName = new char[10];
 7     pName = "123456789";
 8     cout << pName << endl;
 9     delete pName;
10 
11     return 0;
12 }

pName并不是存到分配的空間中去了

pName一開始指向被分配的空間 然后又讓pName指向了字符常量區

那么一開始分配的空間就找不到了 再delete就不能刪了 會崩 因為字符常量區不讓刪

所以字符串的賦值一定不能用等號!!!

字符串的賦值用:strcpy_s(地址空間,長度,"你想存的字符串");

注:初始化和賦值的區分 就在于:定義的時候就給他一個值 就叫初始化

2.字符串的簡單應用:

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 
 5 int main()
 6 {
 7     string str;
 8     str = "aaa";
 9     cout << str << endl;
10 
11     string str1;
12     str1 = str + "111";
13     cout << str1 << endl;
14 
15     str1 += "222";
16     cout << str1 << endl;
17 
18     cout<< (str == str1) << endl;
19     return 0;
20 }

注意:

①C++中定義字符串可以用string 非常方便 但是有頭文件:#include<string> 沒有.h

②字符串的拼接可以直接用+號

③可以如18行一樣比較 這個比較結果為0(不等) 相等的話輸出結果為1

轉載于:https://www.cnblogs.com/Aaaaaalei0612/p/9063650.html

總結

以上是生活随笔為你收集整理的C++ 基础的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。