2017.11.10 重讀C++ Primer

来源:http://www.cnblogs.com/wongsh/archive/2017/11/10/7816523.html
-Advertisement-
Play Games

第二章 變數和變數類型 1. C++ 算數類型 bool 布爾 最小尺寸未定義 char 字元 8位 wchar_t 寬字元 16位 char16_t Unicode 字元 16位 char32_t Unicode 字元 32位 short 短整型 16位 int 整型 16位 long 長整型 3 ...


第二章   變數和變數類型

1. C++ 算數類型

bool                     布爾 最小尺寸未定義

char                     字元 8位

wchar_t               寬字元 16位

char16_t             Unicode 字元 16位

char32_t             Unicode 字元  32位

short                   短整型  16位

int                       整型    16位

long                    長整型  32位

long long            長整型  64位

float                    單精度浮點型 6位有效數字

double                雙精度浮點型 10位有效數字

long double         擴展精度浮點數 10位有效數字

 

如何選擇類型

  • 明知數值不可能為負的時候,選用無符號類型。unsigned
  • 使用 int 執行整數運算。在實際應用中,short 常常太小而long一般和int有一樣的尺寸。如果數值超過了int的表示範圍,選用long long。
  • 在算數表達式中不要使用char 和bool,只有在存放字元或布爾值的時候才能使用它們。因為char在一些機器上是有符號的,而在另一些機器上又是無符號的。
  • 浮點數運算選用double。
  2. 類型轉換  
  • 我們一個布爾類型算數值賦給布爾類型,初始值為0則結果位false,否則結果為true。
  • 當我們把一個布爾值賦給非布爾類型時,初始值為false則結果為0,初始值為true 則結果為1.
  • 浮點數賦給整數類型時,進行近似處理。結果值僅保留浮點數中小數點之前的部分。不會四捨五入。
  • 把整數賦給浮點類型時,小數部分記為0。如果整數所占空間超過浮點類型的容量,精度可能損失。
儘管我們不會故意給無符號的對象賦值一個負值,卻可能寫出這樣的代碼。例如,當一個算數表達式中既有無符號的數又有int值時,那個int 值就會轉換成無符號的數,把int 轉換成無符號的過程和把int 直接賦值給無符號變數一樣。        例如 unsigned u =10; int i= -42; std::cout<<i+i<<std::endl; std::cout<<u+i<<std::endl;       int占32位,輸出4294967264 第一個表達式,兩個數相加得到了期望值;在第二個表達式,相加前,先把整數-42轉換成無符號的數。把負數轉換成無符號數相當於直接給無符號數賦值一個負值,結果等於這個負數加上無符號數的模。   轉義序列   換行符             \n 縱向製表符     \v 反斜線            \\ 回車符            \r 橫向製表符     \t 退格符            \b 問號                \? 進紙符            \f 報警符            \a 雙引號               \" 單引號             \'                      
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 這章開始學習SSH中最後的一個框架spring。Spring是一個開放源代碼的設計層面框架,他解決的是業務邏輯層和其他各層的松耦合問題,因此它將面向介面的編程思想貫穿整個系統應用。 首先就來學習一下IOC,它的好處就是降低了耦合,主要是通過bean之間的依賴關係儘可能地抓換為關聯關係。 那麼來基於m ...
  • 《Head First 設計模式》學習中 分類 簡單工廠模式(Simple Factory) 工廠方法模式(Factory Method) 抽象工廠模式(Abstract Factory) 介紹 簡單工廠模式: 簡單工廠其實並不是一個設計模式,反而比較像是一種編程習慣,但是由於經常被使用,所以才被稱 ...
  • 圖書管理界面: 法一:通過childNodes屬性來獲取所有子節點,然後再取子節點的值 法二: 添加圖書信息: 添加界面如下: 修改圖書信息: 修改界面如下: 刪除一條圖書信息: ...
  • 定義 單例模式(Singleton Pattern)是最簡單的一種設計模式。 英文原話是:Ensure a class has only one instance,and provide a global point of access to it. 意思是:確保一個類只有一個實例,而且自動實例化並 ...
  • "Paramiko" is a combination of the Esperanto words for "paranoid" and "friend". It's a module for Python 2.7/3.4+ that implements the SSH2 protocol fo ...
  • 序列是Python中最基本的數據結構。序列中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。 Python有6個序列的內置類型,但最常見的是列表和元組。 序列都可以進行的操作包括索引,切片,加,乘,檢查成員。此外,Python已經內置確定序列的長度以及確定最 ...
  • Pickle模塊的作用是持久化(序列化)的儲存數據。因此我先解釋下:什麼是序列化與反序列化、什麼是對象序列化和對象反序列化。通俗地講,它們的定義如下:序列化: 把一個對象保存到一個文件或資料庫欄位中去;反序列化: 在適當的時候把這個文件再轉化成原來的對象使用;對象的序列化: 把對象轉換為位元組序列的過 ...
  • 同學突然向我問二叉樹的三種遍歷代碼。數據結構剛剛學了,自己很吃力的敲了出來。 和老師演示的代碼有很大差距。 #include <stdio.h>#include <string.h>#include <stdlib.h>#define Error -1#define Right 1struct Bi ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...