【C++ Primer Plus學習記錄】遞增運算符(++)和遞減運算符(--)

遞增運算符(++)和遞減運算符(--):前綴版本位于操作數前面,如++x;后綴版本位于操作數后面,如x++。兩個版本對操作數的影響是一樣的,但是影響的時間不同。這就像吃飯前買單和吃飯后買單的最終結果是一樣的,但是買單的時間不同。

程序清單5.7演示遞增運算符(++)的這種差別。

//5.7
#if 1
#include<iostream>
using namespace std;int main()
{int a = 20, b = 20;cout << "a   = " << a   << ":   b = " << b << endl;cout << "a++ = " << a++ << ": ++b = " << ++b << endl;cout << "a   = " << a   << ":   b = " << b << endl;system("pause");return 0;
}
#endif

a++意味著使用a的當前值計算表達式,然后將a的值加1;而++b的意思是先將b的值加1,然后使用新的值來計算表達式

雖然選擇使用前綴格式還是后綴格式對程序的行為沒有影響,但執行速度可能有細微的差別。對于內置類型和當代的編譯器而言,這看似不是什么問題。然而,C++允許您針對類定義這些運算符,在這種情況下,用戶這樣定義前綴函數:將值加1,然后返回結果;但后綴版本首先復制一個副本,將其加1,然后將復制的副本返回。因此,對于類而言,前綴版本的效率比后綴版本高。

總之,對于內置類型,采用哪種格式不會有差別;但對于用戶定義的類型,如果有用戶定義的遞增和遞減運算符,則前綴格式的效率更高。

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

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

相關文章

Python從零開始快速搭建一個語音對話機器人

文章目錄 01-初心緣由02-準備工作03-語音機器人的搭建思路04-語音生成音頻文件05-音頻文件轉文字STT06-與圖靈機器人對話07-文字轉語音08-語音對話機器人的完整代碼09-結束語10-有問必答關于Python技術儲備一、Python所有方向的學習路線二、Python基礎學習視頻三、精品Python學…

SSH連接遠程服務器報錯:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 解決方法

一.錯誤描述 報錯信息里提示了路徑信息/root/.ssh/known_hosts:20 二.解決方案 方法一 輸入以下指令&#xff1a; ssh-keygen -R XXX&#xff08;需要連接遠程服務器的ip&#xff09; 按照我的例子ip:10.165.7.136&#xff0c;會返回以下信息: 重新嘗試連接&#xff1a; 輸…

C++學習 --set

目錄 1&#xff0c; 什么是set 2&#xff0c; 創建set 2-1&#xff0c; 標準數據類型 2-2&#xff0c; 自定義數據類型 2-3&#xff0c; 其他創建方式 3&#xff0c; 操作set 3-1&#xff0c; 賦值 3-2&#xff0c; 添加元素&#xff08;insert&#xff09; 3-2-1&…

MySQL的樂觀鎖和悲觀鎖

1、樂觀鎖&#xff1a; 樂觀鎖在操作數據的時候&#xff0c;是保持一種樂觀的狀態&#xff0c;認為別的線程是不會同時修改數據的&#xff0c;所以是不會上鎖的&#xff0c;但是在更新的時候&#xff0c;會判斷一下在這個期間內是否有別的線程修改過數據。 主要的流程&#x…

規劃類3d全景線上云展館幫助企業輕松拓展海外市場

科技3D線上云展館作為一種基于VR虛擬現實和互聯網技術的新一代展覽平臺。可以在線上虛擬空間中模擬真實的展館&#xff0c;讓觀眾無需親自到場&#xff0c;即可獲得沉浸式的參觀體驗。通過這個展館&#xff0c;您可以充分、全面、立體展示您的產品、服務以及各種創意作品&#…

python運算符重載之成員關系和屬性運算

1 python運算符重載之成員關系和屬性運算 1.1 重載成員關系運算符 1.1.1 contains,iter,getitem python使用成員關系運算符in時&#xff0c; 按優先級調用方法&#xff1a;contains>iter>getitem&#xff1b; class MyIters:def __init__(self,value):self.datavalu…

2023年【安全生產監管人員】考試題及安全生產監管人員找解析

題庫來源&#xff1a;安全生產模擬考試一點通公眾號小程序 安全生產監管人員考試題參考答案及安全生產監管人員考試試題解析是安全生產模擬考試一點通題庫老師及安全生產監管人員操作證已考過的學員匯總&#xff0c;相對有效幫助安全生產監管人員找解析學員順利通過考試。 1、…

【樹莓派】Camera Module 使用

工具 RPI4RPI Camera Module 2 硬件安裝 直接插到板子的相機帶子插口上即可 使用前提 libcamera-hello運行這個命令能夠成功&#xff0c;否則需要裝相應的包 在 RPI4 上測試 libcamera-jpeg -o 00001.jpg -t 2000 --width 640 --height 480t 表示程序運行&#xff08;預…

SA8255 Q+A android 登錄QNX

需要工具busybox 130|gen4_gvm:/ # cd /data/ gen4_gvm:/data # ./busybox telnet 192.168.1.1Entering character mode Escape character is ^].QNX Neutrino (localhost) (ttyp0)login: root No home directory. Logging in with home "/". # 用戶名&#xff1a…

數據結構-棧的實現

1.棧的概念及結構 棧&#xff1a;一種特殊的線性表&#xff0c;其只允許在固定的一端進行插入和刪除元素操作。進行數據插入和刪除操作的一端稱為棧頂&#xff0c;另一端稱為棧底。棧中的數據元素遵守后進先出LIFO&#xff08;Last In First Out&#xff09;的原則。 壓棧&…

Matlab群體智能優化算法之海象優化算法(WO)

文章目錄 一、靈感來源二、算法的初始化三、GTO的數學模型Phase1&#xff1a;危險信號和安全信號Phase2&#xff1a;遷移&#xff08;探索&#xff09;Phase3&#xff1a;繁殖&#xff08;開發&#xff09; 四、流程圖五、偽代碼六、算法復雜度七、WO搜索示意圖八、實驗分析和結…

FreeRTOS列表和列表項

FreeRTOS內核調度使用了大量的列表&#xff08;list&#xff09;和列表項&#xff08;listitem&#xff09;數據結構。它的源碼中涉及到很多列表的操作&#xff0c;對于FreeRTOS來說&#xff0c;列表就是它最基礎的一部分&#xff0c;列表被用作FreeRTOS調度器使用&#xff0c;…

力扣.面試題 04.06. 后繼者(java 樹的中序遍歷)

Problem: 面試題 04.06. 后繼者 文章目錄 題目描述思路解題方法復雜度Code 題目描述 設計一個算法&#xff0c;找出二叉搜索樹中指定節點的“下一個”節點&#xff08;也即中序后繼&#xff09;。 如果指定節點沒有對應的“下一個”節點&#xff0c;則返回null。 思路 由于題…

lombok @Slf4j注解啥作用

Logger logger Logger.getLogger(Test.class); logger.debug("這是一個調試信息"); logger.info("這是一個info信息");log4j 使用分兩步 第一步&#xff1a;private final Logger logger LoggerFactory.getLogger(當前類名.class); 第二步&#xff1a;記…

Python開發運維:Celery連接Redis

目錄 一、理論 1.Celery 二、實驗 1.Windows11安裝Redis 2.Python3.8環境中配置Celery 三、問題 1.Celery命令報錯 2.執行Celery命令報錯 3.Win11啟動Celery報ValueErro錯誤 一、理論 1.Celery (1) 概念 Celery是一個基于python開發的分布式系統&#xff0c;它是簡單…

Linux 命令: cut 和 tr

1. 寫在前面 本文主要介紹&#xff1a;Linux "cut "和 “tr” 命令行實用程序概述&#xff1b; 公眾號&#xff1a; 滑翔的紙飛機 2. Linux 命令&#xff1a; cut “cut” 命令是一種命令行工具&#xff0c;允許我們剪切指定文件或管道數據的部分內容&#xff0c;并…

JSP內置對象

一、request對象 1、訪問請求參數 2、在作用域中管理屬性 3、獲取Cookie 4、解決中文亂碼 5、獲取客戶端信息 6、顯示國際化信息 是一個javax.servlet.http.HttpServletRequest對象 request封裝了用戶瀏覽器提交的信息&#xff0c;因此可以調用相應的方法可以獲取這些封…

優先經驗回放(prioritized experience replay)

prioritized experience replay 思路 優先經驗回放出自ICLR 2016的論文《prioritized experience replay》。 prioritized experience replay的作者們認為&#xff0c;按照一定的優先級來對經驗回放池中的樣本采樣&#xff0c;相比于隨機均勻的從經驗回放池中采樣的效率更高&…

UML建模圖文詳解教程——類圖

版權聲明 本文原創作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl本文參考資料&#xff1a;《UML面向對象分析、建模與設計&#xff08;第2版&#xff09;》呂云翔&#xff0c;趙天宇 著 類圖概述 類圖用來描述系統內各種實體的類型以及不同…