原创 C++動態內存與智能指針:動態數組與 allocator 類。賦練習 12.2.2

文章目錄動態數組new 和數組分配一個數組會得到一個元素類型的指針初始化動態分配對象的數組動態分配一個空數組是合法的釋放動態數組智能指針和動態數組allocator 類問題引入allocator 類allocator 分配、回收內

原创 C++動態內存與智能指針:unique_ptr 與 weak_ptr。賦練習 12.1.6 之 12.20

文章目錄unique_ptr傳遞 unique_ptr 參數和返回 unique_ptr向 unique_ptr 傳遞刪除器weak_ptr覈查指針類指針操作練習 12.20 unique_ptr ​ 一個 unique_ptr

原创 C++動態內存與智能指針:shared_ptr和new結合使用、智能指針和異常

文章目錄shared_ptr 和 new 結合使用不要混合使用普通指針和智能指針…………也不要使用 get 初始化另一個智能指針或爲智能指針賦值其他 shared_ptr 操作智能指針和異常智能指針和啞類使用我們自己的釋放操作 s

原创 C++動態內存與智能指針:new 與 delete 直接管理動態內存

文章目錄直接管理內存使用 new 動態分配和初始化對象動態分配的 const 對象內存耗盡釋放動態內存指針值和 delete動態對象的生存期直到被釋放時爲止delete 之後重置指針值…………這只是提供了有限的保護 直接管理內存

原创 C++關聯容器:自定義 map 和 set 的元素比較方式

文章目錄第一種方式,編寫比較函數並傳入實參第二種方式,重載運算符。。。(待填坑) 第一種方式,編寫比較函數並傳入實參 用來組織一個容器中元素的操作的類型也是該容器類型的一部分。爲了指定使用自定義的操作,必須在定義關聯容器類型時提供

原创 C++ primer 5,練習 10.4.2 (iostream迭代器)

10.29:使用流迭代器讀取文本文件,存入 vector<string> 裏面 #include "bits/stdc++.h" using namespace std; int main() { ifstream f

原创 C++ 中的 lambda 表達式

文章目錄lambda 表達式介紹 lambda向 lambda 傳遞參數使用捕獲列表調用 find_iffor_each 函數完整的 biggieslambda 捕獲和返回值捕獲引用捕獲隱式捕獲可變lambda指定 lambda

原创 C++ 順序容器:可能是順序容器迭代器失效的操作

容器操作可能會使迭代器失效 ​ 向容器中添加元素和從容器中刪除元素的操作可能會使指向容器元素的指針、引用或迭代器失效。使用失效的迭代器是一種嚴重的程序設計錯誤,很可能引起與未初始化指針一樣的問題。 ​ 想容器中添加元素後: 如果

原创 複雜的數組聲明: int (*Parray)[10] = &arr,int (&arrRef)[10] = arr,int *(&arry)[10] = ptrs;

int *ptrs[10]; //ptrs 是含有10個指針的數組 int &refs[10]; //不合法,沒有引用數組 int (*Parray)[10] = &arr; // Parray 指向一個含有 10 個整

原创 返回數組指針

數組不能拷貝,所以函數不能返回數組。但是函數可以返回數組指針或者引用。 定義一個返回數組的指針或引用比較麻煩,可以這樣簡化: typedef int arrT[10]; // arrT 表示含有10個整數的數組 using

原创 指針與數組

指針和數組 使用數組的時候編譯器一般會把它轉化成指針。 !!使用數組下標時,通常使用 size_t 類型,是一種無符號類型 對數組的元素使用取地址符就能得到指向該元素的指針。 string nums[] = {"one","t

原创 const限定符:const 和引用,指針

const const必須初始化,創建後其值無法改變。const 可以用字面值初始化,也可以用一個對象初始化 (對象是否是const無關緊要)。 //如: int i = 42; const int j = i; // 合法

原创 manjaro主目錄設置英文

終端:vim .config/user-dirs.dirs 把對應的換成英文 然後命令: mv 下載 Downloads mv 桌面 Desktop mv 模板 Templates … 全部 mv 點贊 收藏

原创 c ++ 類:類相關的非成員函數、構造函數

前提: 仍有 Sales_data 類的代碼: struct Sales_data { std::string isbn() const { return bookNo; } // 返回 isbn 編號 Sale

原创 練習 7.3.4:定義你自己的 Screen 和 Window_mgr,其中 clear 是 Window_mgr的成員,是 Sreen 的友元

按照書上出現的代碼順序:可以得出以下代碼 #include <vector> #include "iostream" class Screen; class Window_mgr { public: // 窗口中的每個