C++類名后面跟大括號和跟小括號的區別

在 C++ 中,類名后面跟著大括號 {} 和小括號 () 有不同的含義和作用。

  1. 大括號 {}

    • 初始化對象:當在聲明類對象時使用大括號 {} 時,這表示對對象進行初始化。這種方式也稱為列表初始化或者統一初始化。
    • 示例
      MyClass obj{}; // 使用大括號初始化 MyClass 類的對象 obj
      
    • 初始化方式:大括號初始化有不同的行為,對于類來說可能會觸發不同的構造函數,包括默認構造函數、帶參數的構造函數或者其他初始化方式,取決于類的構造函數重載情況。
  2. 小括號 ()

    • 創建對象:在 C++ 中,類名后跟小括號是創建一個對象的方式,表示調用類的構造函數來生成一個新的對象。
    • 示例
      MyClass obj(); // 使用小括號創建 MyClass 類的對象 obj
      
    • 注意事項:這里需要小心,因為在這種情況下,編譯器會將 obj 視為一個函數原型而不是一個對象的聲明,這種情況通常被稱為 “most vexing parse”。為了避免這種歧義,可以使用 = 或直接省略括號來初始化對象:
      MyClass obj{}; // 使用大括號進行初始化
      MyClass obj; // 或者直接省略括號
      

總體而言,大括號 {} 用于對象初始化,而小括號 () 在某些情況下可能導致代碼的二義性,因此在創建對象時,建議使用大括號進行初始化或直接省略括號。

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

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

相關文章

網上下載的pdf文件,為什么不能復制文字?

不知道大家有沒有到過這種情況?在網上下載的PDF文件打開之后,發現選中文字之后無法復制。甚至其他功能也都無法使用,這是怎么回事?該怎么辦? 當我們發現文件打開之后,編輯功能無法使用,很可能是…

AlexNet

概念 過擬合:根本原因是特征維度過多,模型假設過于復雜,參數過多,訓練數據過少,噪聲過多,導致擬合的函數完美的預測訓練集,但對新數據的測試集預測結果差。 過度的擬合了訓練數據,而沒有考慮到…

29、卷積 - 參數 padding 的作用

在卷積過程中,Padding(填充)是一個關鍵的概念,它對于保留輸入信息和有效地處理邊緣信息至關重要。 1、Padding是什么? Padding 指的是在輸入圖像的周圍添加額外的像素值,用來以擴大輸入圖像的尺寸,這些額外填充的像素值通常設置為零,卷積操作在這個填充后的輸入圖像上…

C#基礎-結構體應用實例

目錄 定義 結構有以下特點 用法實例 定義 在 C# 中,結構體是值類型數據結構。它使得一個單一變量可以存儲各種數據類型的相關數據。struct 關鍵字用于創建結構體。 結構有以下特點 結構可帶有方法、字段、索引、屬性

2024年生成式人工智能發展預測

2024年生成式人工智能發展預測 2023.12.9版權聲明:本文為博主chszs的原創文章,未經博主允許不得轉載。 當前,生成式人工智能(Generative AI,后面簡稱 Gen AI)領域不但在持續演進,而且它正在徹…

ThinkPHP生活用品商城系統

有需要請加文章底部Q哦 可遠程調試 ThinkPHP生活用品商城系統 一 介紹 此生活用品商城系統基于ThinkPHP框架開發,數據庫mysql,前端bootstrap。系統分為用戶和管理員。(附帶配套設計文檔) 技術棧:ThinkPHPmysqlbootstrapphpstudyvscode 二 …

MYSQL主從復制配置指引

MYSQL主從復制配置指引 1.前期準備 部署完主備數據庫,初始化主備庫表結構和數據。 2. 主庫配置修改 修改主庫配置文件etc/my.cnf,新增以下配置: #服務器 id,需唯一 server-id 1 #二進制文件存放路徑 log-bin mysql-bin …

深入理解JavaScript的箭頭函數

深入理解JavaScript的箭頭函數 在ES6中,JavaScript引入了箭頭函數的概念,它提供了一種更簡潔的語法來定義匿名函數。雖然箭頭函數看起來很簡單,但它們在實際應用中有一些獨特的特性和行為。讓我們深入理解箭頭函數并學習如何正確地使用它們。…

記賬中心二開

系統預設了 這幾種 FSubSystem 為子系統 T_VC_SubSystem 卡片顯示的表 字段 FNeedRalteAccount 設置為1的話 ,需要與總賬連用系統將去查找 系統狀態控制表。 如果系統狀態 沒有配置這個子系統 將無法顯示數據 select sysStaCtr.fid from T_BD_SystemStatusCt…

MySQL:drop、delete與truncate區別

一、用法不同 1、drop(丟棄數據): drop table 表名 ,直接將表都刪除掉,在刪除表的時候使用。 2、truncate (清空數據) : truncate table 表名 ,只刪除表中的數據,再插入數據的時候自增長 id 又從 1 開始,在清空表中數…

Java LeetCode篇-深入了解二叉樹的經典解法(多種方式實現:構造二叉樹)

🔥博客主頁: 【小扳_-CSDN博客】 ?感謝大家點贊👍收藏?評論? 文章目錄 1.0 從前序與中序遍歷序列來構造二叉樹 1.1 實現從前序與中序遍歷序列來構造二叉樹思路 1.2 代碼實現從前序與中序遍歷序列來構造二叉樹 2.0 從中序與后序遍歷序…

計算目標檢測和語義分割的PR

需求描述 實際工作中,相比于mAP項目更加關心的是特定閾值下的precision和recall結果;由于本次的GT中除了目標框之外還存在多邊形標注,為此,計算IoU的方式從框與框之間變成了mask之間; 本文的代碼適用于MMDetection下的…

Java Web 學習之路(2) —— 概念、SpringBoot + MyBatis(controller+service+mapper)開發流程與過程梳理

文章目錄 前言1. 常見的一些概念1.1 POJO(Plain Ordinary Java Object 簡單Java對象)1.2 DAO和Mapper 2. Java的三層架構2.1 包的層級結構2.2 交互層 controller(用戶界面、網頁)jsp文件2.3 業務處理層 service2.4 Mapper層 3. 注…

如何同步fork項目原倉庫的更新

最簡單粗暴的方法:把原來fork的倉庫刪了重新fork(嘿嘿不過這顯然是不優雅的) 那我們該怎么同步更新呢? 如何在 Github 網頁端同步更新? 進入你自己的 fork 過來的倉庫。點擊 “Pull requests” ,如何點擊…

2024 年甘肅省職業院校技能大賽信息安全管理與評估賽項規程

2024 年甘肅省職業院校技能大賽高職學生組電子與信息大類信息安全管理與評估賽項規程 一、賽項名稱 賽項名稱:信息安全管理與評估 賽項類別:團體賽 賽項歸屬:電子與信息大類 二、競賽目的 極安云科專注技能競賽,包含網絡建設…

Python基礎——正則匹配中高階用法

1.正則使用變量匹配re.escape() re.escape() 是一個用于轉義正則表達式中特殊字符的函數。當我們需要使用變量構建正則表達式模式時,為了避免特殊字符對模式的解析產生影響,我們可以使用 re.escape() 函數來自動轉義這些特殊字符。 例如,如…

微信小程序css實現的聯系客服動畫樣式

一 、效果 二、代碼 wxml <view class"customer-service"><button class"btn" open-type"contact"></button><image class"pic" src"https://ts4.cn.mm.bing.net/th?idOIP-C.3SGSiRPuOU9uH5VNVOMPwgHaHa…

序列的Z變換(信號的頻域分析)

1. 關于Z變換 2. 等比級數求和 3. 特殊序列的Z變換 4. 因果序列/系統收斂域的特點 5. 例題

navigationBar頂部導航欄,兼容適配所有機型(附完整案例)

思路 隱藏原生樣式獲取膠囊按鈕、狀態欄相關數據以供后續計算根據不同機型計算出該機型的導航欄高度,進行適配編寫為導航欄公共組件使用組件1. 隱藏原生樣式 全局設置 "window": {"navigationStyle": "custom" }單個頁面設置 {"navigat…

免費的AI文案生成器有哪些?AI文案生成器排行榜

在當今數字化的時代&#xff0c;內容創作已成為許多行業不可或缺的一部分。為了滿足日益增長的創作需求&#xff0c;越來越多的人開始尋找能夠提高效率、同時保持原創性的解決方案。本文將專心分享一些優質的AI文案生成器。 AI文案生成器的需求 內容創作已經不再是傳統媒體和市…