C++基礎知識(二)--左值右值--邏輯表示式求值優化--逗號運算子與表示式
一、C++左值右值概念
左值:c++將變數名代表的單元稱為左值,而將變數的值稱為右值,左值必須是記憶體中可以訪問且可以合法修改的物件,因此只能是變數名,而不能是常量或表示式。即左值可以定址。
右值:將變數的值稱為右值,由運算操作(加減乘除,函式呼叫返回值等)所產生的中間結果(沒有名字的結果)稱為右值。右值無法定址。
二、邏輯表示式求值優化
1.C++中在求邏輯表示式的值的時候,一旦表示式的值能夠確定,就不再逐步進行下面的運算。稱為求值優化。
int a=10,b=20,c=30; int result; result=a<b||c++; cout<<c<<endl; 輸出結果c仍為30;
因為由a<b已經可以確定result的值了,所以後邊的運算表示式便不再進行計算了。在進行邏輯運算時要小心。
三、逗號運算子與逗號表示式
1.逗號表示式:用逗號連線起來的表達稱為逗號表示式
2.逗號表示式中的每一個表示式都會被運算,整個逗號表示式的值是最後一個表示式的值
a=(x=3,x+=6,5+6); cout<<a<<x<<endl; 結果:a=11,x=9;
相關推薦
C++基礎知識(二)--左值右值--邏輯表示式求值優化--逗號運算子與表示式
一、C++左值右值概念 左值:c++將變數名代表的單元稱為左值,而將變數的值稱為右值,左值必須是記憶體中可以訪問且可以合法修改的物件,因此只能是變數名,而不能是常量或表示式。即左值可以定址。 右值:將變數的值稱為右值,由運算操作(加減乘除,函式呼叫返回值等)所產生的中間結果(沒有名字的結果)稱為右
C++基礎知識(二)--左值右值--邏輯表達式求值優化--逗號運算符與表示式
-- 沒有 加減乘除 p s 能夠 表示 操作 逗號 因此 一、C++左值右值概念 左值:c++將變量名代表的單元稱為左值,而將變量的值稱為右值,左值必須是內存中可以訪問且可以合法修改的對象,因此只能是變量名,而不能是常量或表達式。即左值可以尋址。 右值:將變量的值
C++基礎知識(二)—— 變數和資料型別
你可能覺得這個“Hellow World”程式用處不大。我們寫了好幾行程式碼,編譯,然後執行生成的程式只是為了在螢幕上看到一句話。的確,我們直接在螢幕上打出這句話會更快。但是程式設計並不僅限於在螢幕上打出文字這麼簡單的工作。為了能夠進一步寫出可以執行更有用的任務的程式,我們
C++基礎知識(六)--類--成員函數的定義--對象的創建與使用--從面向過程到面向對象
物理 邏輯 需要 面向對象技術 函數 span void 成員函數 開發 一、類 1.類是一種數據類型,將數據與對數據的操作(函數)放到一起。一個類中的數據通常只能通過本類提供的方法進行處理,這些方法成為該類與外部的接口,對象之間通過消息進行通訊。 2.如果在類的起
C#入門基礎知識(二)
C#的常量和變數 1. C#的常量 常量,顧名思義,就是“不會改變的量”,我們平時書寫的數字、字元和字串,他們都屬於“字面常量”,編寫程式碼時我們常常會使用自定義變數。 請閱讀下面程式碼: namespace Test { Class Program {
C++基礎知識(三)--數據類型轉換--混合運算類型轉換--賦值類型轉換--強制類型轉換
類型轉換 雙精度 基礎 code 變量 ascii asc 整數 pre 系統自動類型轉換:混合運算的類型轉換,賦值類型轉換,強制類型轉換 一、混合運算的類型轉換規則 1.運算過程中,當某個二元運算符兩邊的操作數類型不同但屬於類型相容時,系統先將精度低的操作數變換到
C++基礎知識(八)---函式返回值(返回值,返回指標,返回物件,返回引用)---引用---複製建構函式(拷貝建構函式)
一、函式返回值 1.返回值: int test () { int a=1; return a; } 返回值時最簡單的方式,它的操作主要在棧上,變數a在函式結束後會刪除,為了返回a的值,系統會在內部建立一個臨時變數儲存a的值,以返回給呼叫該函式的表示式,呼叫結束後變數便
JavaScript基礎知識(二)
window ttr demo1 隨機數 put 意義 成員 poi pac 一、JavaScript事件詳解 1、事件流:描述的是在頁面中結束事件的順序 事件傳遞有兩種方式:冒泡與捕獲。 事件傳遞定義了元素事件觸發的順序。 如果你將 <p> 元素插
python基礎知識(二)
.py .com 數值類型 spa gbk 4.5 wal 編碼 nic 1.pycharm使用 快速搜索欄,蠻重要的 2.字符串格式化 %s 字符串類型 %d數值類型 msg = "我是%s,年齡%d,愛好%s" % (‘alex‘, 18, ‘boy‘) print(
.NET基礎知識(二)
處理 read 不能被繼承 c# 方法表 .net基礎 arr 如果 數據 1、new有幾種用法? 答:1、new Class(); 2、覆蓋方法,public new XXXX(); 3、new() 約束指定泛型類聲明中的任何類型參數都必須有公共的無參數構造函數 2
c#基礎知識(2)
alt 實現 height over 聯系 c# 覆蓋 tro strong 一,繼承與派生 原來的類——基類或父類 新定義的類——派生類 引入原因:擴展原有類的功能 派生類的成員: (1)會吸收基類的所有成員(包括私有成
多線程基礎知識(二)
必須 否則 closed form 自己 back play sender 重點 線程池 因為每次創建線程、銷毀線程都比較消耗 cpu 資源,因此可以通過線程池進行優化。線程池是一組已經創建好的線程,隨用隨取,用完了不是銷毀線程,然後放到線程池中,供其他人用。 用線程池之
Python 之 基礎知識(二)
break post elif true 滿足 賦值 隨機數 計數 spa 一、分支運算 在Python 2.x中判斷不等於還可以用<> if語句進階:elif if 條件1: ...... elif 條件2: ...... else:
Kafka基礎知識(二)
net pic 知識 2個 先後 orm 進行 進制 機器 Kafka進階知識 消息概念 消息指的是通信的基本單位。由消息生產者(producer)發布關於某個話題(topic)的消息。簡單來說:消息以一種物理方式被發送給了作為代理(broker)的服務器(可能是另外一臺機
C#基礎總結(二) —— C#開發工具 Visual Studio(IDE)
暫停 基本上 必備 img 包含 adl 裏的 方案 運行 一、Visual Studio Visual Studio 是微軟公司的一個開發工具集,是C#開發必備利器。下面附上VS2013簡體中文社區版的下載地址: 鏈接:https://pan.baidu.com
線性代數基礎知識(二)——運算和性質【轉載】
這樣的 寫作 9.png 改變 通過 內容 你會 列空間 根據 3 運算和性質 在這一節中,我們將介紹幾種矩陣/向量的運算和性質。很希望這些內容可以幫助你回顧以前知識,這些筆記僅僅是作為上述問題的一個參考。 3.1 單位矩陣與對角矩陣 單位矩陣,記作I ∈ Rn×n,
第3章 RFID基礎知識(二)
1.電子標籤分為:有源電子標籤、無源電子標籤和半無源電子標籤。 2.電子標籤的儲存區域通常分為:保留區、EPC區、TID區、使用者區。 保留區:用於儲存標籤的滅活密碼以及訪問密碼,在沒有鎖定時可以進行讀寫操作,鎖定後不能讀取也不能修改。
儲存基礎知識(二)回滾的原理
雖然使用者開啟快照,可在通過建立時間點來保護修改的資料,但要回到修改之前的狀態就必須用到回滾。打個比方,我在t1時刻給畫板上畫了一棵樹,t2時刻又畫了一隻猴子,t3時刻畫的時候發現畫錯了,我不想要猴子和現在所畫的東西,我想回到那棵樹的時刻,就會用到回滾。 快照的回滾也是如此,使用者建立多個時
機器學習基礎知識(二)
深度神經網路: 深度學習實際指的是基於深度神經網路( deep neural networks, DNN)的 學習,也就是深度人工神經網路所進行的學習過程,或稱作 Deep Learning。 這個 Deep 指 的是神經網路的深度(層數多)。 T
PHP基礎知識(二)
PHP表示式 一、常量: 1、自定義常量:define(name,value); 2、注意: (1)常量名前不加$符號。 (2)常量名的作用域是全域性的。 二、變數: 1、PHP的變數是區分大小寫的。 2、賦值: (1)傳值: (2)傳地址: