C++筆記(1)

1.? C語言和C++的區別?

C語言作為一種過程性語言,側重于通過算法描述來指導計算機執行,將復雜程序分解為簡單、可管理的模塊。 C語言支持模塊化編程,每個模塊作為獨立的單元。C++融合了3中不同的編程方式:C語言、面向對象語言、泛型編程。

2.?什么是類?

?類是一種規范,定義了數據成員和成員函數,構成了一個新的數據類型。類描述了對象的特征和行為。對象是類的具體實例,即根據類的規范創建的數據結構。每個對象都擁有類所定義的屬性和方法,通過對象可以進行實際的數據操作和功能實現。

3.什么是封裝?

封裝,類可以將內部數據(私有成員)隱藏起來,僅暴露有限的公共接口(公有成員函數)供外部訪問,這樣可以防止數據被不當修改。

4.什么是多態?

多態允許使用一個接口來表示不同類型的實體,從而能夠在不修改現有代碼的情況下,使程序能夠處理多種數據類型或類的對象。這通過虛函數、重載運算符和函數重寫等機制實現。

5.什么是繼承?

?繼承是一種建立類與類之間關系的方式,子類可以繼承父類的屬性和方法,并在此基礎上添加或修改,實現代碼的復用和擴展。這有助于構建一個層次化的類結構,促進模塊化和靈活性。

6. 預處理指令有什么用?

#include<>編譯之前, 使用指定的內容特換該預處理指令。

#define定義符號常量,但是更好的使用const

7.頭文件注意的問題是什么?

8.名稱空間有什么用?

避免名稱沖突。

9.const類型有什么用?

定義常量,編譯器不允許修改該常量的值。比#define好,能確定類型,使用const將作用域限定再特定的作用域中。const可以用于更復雜的類型。

10.類型轉換?

整形提升不會損失數據。

強制類型轉換。

static_cast<>可以將值從一種類型轉換為另一種類型。

11.auto聲明?

讓編譯器可以初始值推斷變量的類型,如STL中類型時,自動類型推斷很方便。

12.什么是union?

union的各個成員共享相同的內存位置,因此只能存儲一個成員的值。如果更改一個成員的值,會影響其他成員的值。大小等于最大成員的大小:union的大小等于其中最大成員的大小。 ? ? ?

union UnionName {data_type member1;data_type member2; data_type memberN;
};

?13.什么是結構體?

結構是用戶定義的類型,C++結構除了成員變量還有成員函數。

14.什么是enum?什么是枚舉類?

enum是枚舉類型,是一種用戶自定義的數據類型,由一組常量組成,這些常量代表一個固定的整數值序列。可以提高代碼的可讀性,用有意義的名稱而不是抽象的數字來表示。

enum EnumName {enumerator1, enumerator2,..., enumeratorN
};

默認第一個枚舉成員的值為0,之后每個成員的值依次遞增1,也可以顯示賦值。

C++11引入了enum class,可以更好的作用域控制和類型安全。枚舉成員需要通過加上類名前綴來訪問,避免名稱沖突。

enum class Color {Red,Green,Blue
};

待(整理100個換)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/21965.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/21965.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/21965.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【已解決】記錄Vue2.x中npm install下載依賴報錯:python2 Error: not found: python2問題(具體操作步驟)

項目場景&#xff1a; 項目場景&#xff1a;在項目開發中&#xff0c;升級了本地node版本后&#xff0c;重新npm install下載依賴報錯找不到python環境 not found: python2 npm ERR! gyp verb check python checking for Python executable “python2” in the PATH 在嘗試了各…

Codeforces Round 950 (Div. 3)(A~F2)

G題只會暴力..不會數據結構 A - 問題 Generator 暴力模擬即可 // Problem: A. Problem Generator // Contest: Codeforces - Codeforces Round 950 (Div. 3) // URL: https://codeforces.com/contest/1980/problem/A // Memory Limit: 256 MB // Time Limit: 1000 ms // //…

哈夫曼樹的構造,哈夫曼樹的存在意義--求哈夫曼編碼

一:哈夫曼樹的構造 ①權值,帶權路徑長度。 ②一組確定權值的葉子節點可以構造多個不同的二叉樹,但是帶權路徑長度min的是哈夫曼樹 ③算法基本思想及其實操圖片演示 注:存儲結構和偽代碼 1 初始化: 構造2n-1棵只有一個根節點的二叉樹,parent=rchild=lchild=-1; 其中…

構造一個高效的哈希表:從基本思路到最終實現

哈希表是計算機科學中常用的數據結構之一&#xff0c;它提供了快速的查找、插入和刪除操作。在本篇博客中&#xff0c;我們將探討如何構造一個高效的哈希表&#xff0c;從最基本的思路逐步完善&#xff0c;直至最終實現。 1. 初始思路&#xff1a;使用布爾數組存儲 我們最初的…

AIGC 全面介紹

隨著人工智能技術的不斷進步&#xff0c;生成式人工智能&#xff08;AI Generated Content, AIGC&#xff09;成為了一個日益熱門的話題。AIGC 指利用人工智能技術生成各類內容&#xff0c;包括文本、圖像、音頻、視頻等。與傳統的內容生成方法相比&#xff0c;AIGC 具有速度快…

谷歌創新框架:從非結構化數據,實現多模態學習

看、聽、說的多模態已成為主流大模型的重要功能之一。但在數據爆炸時代&#xff0c;大模型學習文本類的結構化數據相對還好一些&#xff0c;但要去學習視頻、音頻、圖片等非結構化數據非常困難。 目前&#xff0c;從結構化和非結構化數據實現多模態學習&#xff0c;會隨著模態…

RK3588 VOP圖層分配介紹

RK3588 VOP圖層分配介紹 RK3588圖層介紹 RK3588有8個圖層&#xff0c;分別是Custer 0/1/2/3 和Esmart 0/1/2/3&#xff0c;兩種圖層的能力不一樣&#xff0c;具體如下&#xff1a; Custer 分辨率&#xff1a;最大分辨率包括兩種合并集群和單集群&#xff0c;分別為7680x432…

QT_UI設計

mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACE //命名空間 namespace Ui { class MainWindow; } //ui_MainWindow文件里定義的類&#xff0c;外部聲明 QT_END_NAMESPACEclass MainWindow : public QMainWindow {Q_O…

AccessibilityEvent的生成和處理

在 Android 框架層&#xff0c;AccessibilityEvent 的生成和處理是通過系統的 UI 框架和輔助功能服務框架密切協作來實現的。這個機制涉及幾個關鍵的部分&#xff1a;UI 組件、輔助功能服務、事件監聽和事件分發。以下是對這些部分和它們如何協同工作的詳細解釋&#xff1a; 1…

httprunner接口自動化測試框架使用說明【保姆級教程】

背景介紹&#xff1a; httprunner是國內開源的一個接口自動化框架&#xff0c;已經有部分公司開始使用這種框架來完成自己公司的接口自動化編寫&#xff0c;本文主要是從簡單的流程上去講解咋使用的&#xff08;PS&#xff1a;開發者本尊的官網教程寫的是真的爛。。。&#xf…

JVM調優實戰

如果老年代能回收掉大部分&#xff0c;說明年輕代太小了&#xff0c;放不下 OOM 1數據量一次性申請的內存過多&#xff0c;比如數據庫查詢返回值大多&#xff0c;所以做個分頁 2.并發過高的情況下&#xff0c;一些連接未釋放 3.堆內存不夠

DP-Kmaens密度峰值聚類算法

我有個問題 關于 [密度值>密度閾值] 的判定這里&#xff0c;新進來的新數據怎么確定他的密度值&#xff1f;密度閾值又是怎樣確定的呢&#xff1f;

正則表達式 0.1v

正則表達式 擴展 --> :% s/\///g //文件里面所有的 / 去掉 * 通配符 \ //轉義&#xff0c;讓字符變成原本的意思 ^ //行首 $ //行尾 [0-9] //數字 [a-z] //小寫字母 [A-Z] //大寫字母 把文件的小寫字母替換為大寫字母&#xff1f; 固定寫法 :% s/[a-…

Vscode git 插件

超好用的git記錄 軟件 安裝之后&#xff0c;鼠標在哪一行就可以看最新一次是誰提交的&#xff0c;真的超好用&#xff01;&#xff01;&#xff01;

43頁 | 2024年企業級BI平臺白皮書(免費下載)

【1】關注本公眾號&#xff0c;轉發當前文章到微信朋友圈 【2】私信發送 2024年企業級BI平臺白皮書 【3】獲取本方案PDF下載鏈接&#xff0c;直接下載即可。 誠摯邀請您微信掃碼加入以下方案驛站知識星球&#xff0c;獲取上萬份PPT/WORD解決方案&#xff01;&#xff01;&…

【NOI】C++程序結構入門之循環結構二-for循環

文章目錄 前言一、for循環1.導入2.語法3.使用場景4.條件控制5.小結 二、例題講解問題&#xff1a;1264 - 4位反序數問題&#xff1a;1085 - 尋找雷劈數問題&#xff1a;1057 - 能被5整除且至少有一位數字是5的所有整數的個數問題&#xff1a;1392 - 回文偶數&#xff1f;問題&a…

Linux命令 netstat -anp | grep 的用法

文章目錄 1、第一種解釋2、第二種解釋3、第三種解釋4、第四種解釋5、第五種解釋6、netstat --help 在Windows中&#xff0c;殺死端口占用的博客鏈接 1、第一種解釋 在Unix和Linux系統中&#xff0c;netstat -anp 命令用于顯示所有的網絡連接&#xff08; -a 表示所有&#xff…

文件md5加密

使用場景&#xff1a;為了避免上傳資源空間的浪費&#xff0c;通過對文件進行md5摘要加密獲取唯一的值&#xff0c;從數據庫中查詢是否已有該md5碼存在&#xff0c;不存在的就上傳&#xff0c;存在的話使用之前已存儲的文件信息。 如何加密 下載插件browser-md5-file 【之前有…

maridb10.4.30數據庫數據遷移

1.新建數據存儲文件夾&#xff0c;例如E:\maridb_data 2.修改原數據所在目錄的my.ini文件&#xff0c;例如D:\Program Files\MariaDB 10.4\data\my.ini 3.剪切除my.ini文件外的其他所有文件到遷移目的地文件(E:\maridb_data) 結果如下&#xff1a; 原數據文件目錄&#xff1a…

聊聊限流的一些事兒

一、背景 最近幾年&#xff0c;隨著微服務的流行&#xff0c;服務與服務之間依賴越來越強&#xff0c;調用也越來越復雜&#xff0c;服務間的穩定性變突顯出來。特別是在遇到突發請求時&#xff0c;常常需要通過緩存、限流、熔斷降級、負載均衡等多種方式保證服務的穩定性。其…