C/C++編程筆記:C++的修飾符類型

2020-12-23 騰訊網

C++ 允許在 char、int 和 double 數據類型前放置修飾符。修飾符用於改變基本類型的含義,所以它更能滿足各種情境的需求。

下面列出了數據類型修飾符:

signed

unsigned

long

short

修飾符 signed、unsigned、long 和 short 可應用於整型,signed 和 unsigned 可應用於字符型,long 可應用於雙精度型。

修飾符 signed 和 unsigned 也可以作為 long 或 short 修飾符的前綴。例如:unsigned long int。

C++ 允許使用速記符號來聲明無符號短整數或無符號長整數。您可以不寫 int,只寫單詞 unsigned、short 或 unsigned、long,int 是隱含的。例如,下面的兩個語句都聲明了無符號整型變量。

unsigned x; unsigned int y;

為了理解 C++ 解釋有符號整數和無符號整數修飾符之間的差別,我們來運行一下下面這個短程序:

實例

#include using namespace std; /* * 這個程序演示了有符號整數和無符號整數之間的差別 */ int main() { short int i; // 有符號短整數 short unsigned int j; // 無符號短整數 j = 50000; i = j; cout

當上面的程序運行時,會輸出下列結果:

-15536 50000

上述結果中,無符號短整數 50,000 的位模式被解釋為有符號短整數 -15,536。

C++ 中的類型限定符

類型限定符提供了變量的額外信息。

限定符含義

constconst 類型的對象在程序執行期間不能被修改改變。

volatile修飾符 volatile 告訴編譯器不需要優化volatile聲明的變量,讓程序可以直接從內存中讀取變量。對於一般的變量編譯器會對變量進行優化,將內存中的變量值放在寄存器中以加快讀寫效率。

restrict由 restrict 修飾的指針是唯一一種訪問它所指向的對象的方式。只有 C99 增加了新的類型限定符 restrict。

相關焦點

  • 「最佳實踐」C++陷阱與套路
    實際運行發現回血回藍邏輯不對,Word麻,原來是操作符短路了,如果GenHP()返回true了,那GenMP()就不會被調用,就有可能失去回藍的機會。= nullptr && ptr->Do())這樣的代碼,這正是利用了操作符短路的語法特徵。## 4.別讓循環停不下來```c++for (unsigned int i = 5; i >=0; --i){//...}```程序跑到這,WTF?根本停不下來啊?
  • C語言?c+?到底先學哪個才能更好的理解編程,這些你造嗎
    本身C語言和c++的編程方法不同,一個面向過程,一個面向對象。而要做出大型的、複雜的、精彩的程序,面向對象的語言就更適合。所以要學習c++這樣的語言。但是,1.c語言是好多學校的基礎課;2.c語言很容易描述算法;3.軟體開發過程中也有很多面向過程的開發,以及模塊化程序設計思想。要學習這些,比起學c++的複雜、困難程度,學c語言就可以達到上述目的。
  • C++ 優先隊列priority_queue
    這三個參數的含義分別為:數據類型,容器類型和比較函數,實際上優先隊列就是維護了一個裝有 T 類型元素的容器 Container,並在入隊和出隊時對容器內元素使用 Compare 比較函數進行了排序。這3個參數還要滿足一定的要求,並且在使用過程中有些注意事項:1.
  • C/C++中常用的編程關鍵字
    9. constconst(常量的,constant)所修飾的對象或變量不能被改變,修飾函數時,該函數不能改變在該函數外面聲明的變量也不能調用任何非const函數。在函數的聲明與定義時都要加上const,放在函數參數列表的最後一個括號後。
  • 青奧職業培訓學校:學會編程你能夠從事哪些高薪行業?
    今天青奧職業培訓學校在這裡和大家談如何學習編程,學完Java,c/c++、python能從事那些工作呢?1、網際網路公司網際網路公司程式設計師。目前的網際網路行業,需要大批的編程人員,把數據進行轉換存儲分析。他們大部分都是編程人員,寫代碼,實現功能。3、硬體產品行業也是需要編程人員的,如服務商生產出來的cpu等是需要驅動來完成工作的,所以他們也需要程式設計師來完成編碼工作。
  • C++的轉換手段並與explicit關鍵詞配合使用
    >++作者:良知猶存轉載授權以及圍觀:歡迎添加微信公眾號:羽林君隱式轉化c+++語言不會直接將兩個不同類型的值相加,二十先根據類型轉化規則設法將運算對象的類型統一後再求值。在進行下行轉換時,dynamic_cast具有類型檢查的功能,比static_cast更安全。向上轉換即為指向子類對象的向下轉換,即將父類指針轉化子類指針。向下轉換的成功與否還與將要轉換的類型有關,即要轉換的指針指向的對象的實際類型與轉換以後的對象類型一定要相同,否則轉換失敗。
  • Zig 0.7.1 發布,想要替換 C 的程式語言
    其中涉及到標準庫、編譯器、構建系統、compiler-rt、zig cc 和 zig c++ 等內容。Zig 是一門通用程式語言,專為穩定性、可維護性和性能而設計,追求替代 C 語言在系統編程上的最佳地位。
  • 還不懂c++vector的用法,你憑什麼勇氣來的!
    今天給大家帶來一篇c++vector的介紹,難以置信這篇文章寫了我三天,不過總算整理完畢,現在分享給大家。模板類vector 和 array是數組的替代品。模板類vector 類似於string類,也是一種動態數組。 在 c++ 中,vector 是一個十分有用的容器。
  • C/C++編程筆記:C語言中的類型轉換,今天教你怎麼寫!
    所謂類型轉換基本上是從一種類型到另一種類型的轉換。類型轉換有兩種類型: 一、隱式類型轉換 通常在表達式中存在多個數據類型時發生。在這種情況下,將進行類型轉換(類型提升)以避免數據丟失。 變量的所有數據類型將升級為具有最大數據類型的變量的數據類型。
  • 設計程序根本不知道如何下手,這就是編程初學者最常見的困惑
    我摘取了一些有代表性的問題發出來,大家可以一起探討:網友問題:於老師您好,我不算是完全編程小白,但是也差不多,僅僅是知道一點點編程的東西,也寫過幾個最簡單的c++程序,但是自己去設計程序根本不知道如何下手,想系統的學習c++,數據結構,算法,您有什麼好的建議嗎?真心想學編程,完全沒有學過c,就是從c++起步的。
  • 學C/C++編程的必要軟體你都裝了不?
    前言本文就來聊一聊我們自學C語言和C++編程開發前的一些準備工作,主要包含一些必要的軟體和工具,寫給咱這的初學者看的,因為很多小夥伴問來著。2. 編程的必要工具依你看,對編程來說,什麼軟體是必要的呢?對了,就是編譯器。
  • 手機上的APP都是用什麼程式語言寫的?
    今天想和大家分享的內容是和我們手機上APP相關的,它們都是用什麼程式語言寫的呢? 兩大移動端:Android和IOS,我們就不多說了,下面我們從另一個角度進行分類。 Kotlin是一種在Java虛擬機上運行的靜態類型程式語言,被稱之為Android世界的Swift。Kotlin可以編譯成Java字節碼,也可以編譯成JavaScript,方便在沒有 JVM 的設備上運行。運行效率提高很多,並且語法更加簡潔好用。
  • 知乎277萬瀏覽熱帖:少兒編程是不是收智商稅?
    目前,少兒編程被越來越多的家長關注,很多媒體和機構也在宣傳學習少兒編程的好處,部分宣傳比較誇張,諸如「未來人工智慧時代,不學習編程就會」導致家長更容易陷入焦慮,到底要不要孩子去學編程呢? 在知乎上有一個277萬瀏覽的熱帖,內容主要是討論當下流行的少兒編程,是不是在收父母的"智商稅"呢?
  • 寧波鄞州樂博C++少兒編程班
    C++讓孩子贏在起跑線提高學習成績程式語言只是工具,學編程最重要的是鍛鍊邏輯思維和解決問題的能力,這種學習能力能遷移到各個學科的學習上,從而提高孩子的數學、英語等學科成績。  升入名校擁有編程特長,可以參加全國中小學生電腦製作大賽、信奧賽等比賽,對孩子的小升初、中考、高考有幫助,在信奧賽省賽、國賽中獲獎,可獲高考降分優惠或保送資格。
  • 手機APP都是用什麼程式語言寫的呢
    今天想和大家分享的內容是和我們手機上APP相關的,它們都是用什麼程式語言寫的呢?  1、開發Android的:Java和Kotlin  Kotlin是一種在Java虛擬機上運行的靜態類型程式語言,被稱之為Android世界的Swift。Kotlin可以編譯成Java字節碼,也可以編譯成JavaScript,方便在沒有 JVM 的設備上運行。運行效率提高很多,並且語法更加簡潔好用。
  • C++中的static
    3、靜態函數    在函數的返回類型前加上static關鍵字,函數即被定義為靜態函數。靜態函數與普通函數不同,它只能在聲明它的文件當中可見,不能被其它文件使用。 0;//定義並初始化靜態數據成員   Myclass::Myclass(int a,int b,int c)   { this->a=a;   this->b=b;   this->c=c;   Sum+=a+b+c;}   void Myclass::GetSum()   { cout<<"Sum="<<Sum<<endl;   }   void
  • C語言編程核心要點
    我教過6個人編程,教過HTML,教過JAVA,也教過C++。最近,我在教我小孩編程,他只有十歲,很多人建議我選擇Python,但我最終選擇了C,因為C簡單且強大,現在看來,好像是個不錯的選擇。類型C是強類型語言,有short、long、int、char、float、double等build-in數據類型,類型是貫穿c語言整個課程的核心概念。
  • 「002期」JavaSE面試題(二):基本數據類型與訪問修飾符
    本文轉載自【微信公眾號:java進階架構師,ID:java_jiagoushi】經微信公眾號授權轉載,如需轉載與原文作者聯繫開篇導讀大家好,我是Java面試題庫的提褲姐,今天這篇是JavaSE系列的第二篇,主要總結了Java基礎語法中訪問修飾符會出現的相關面試題
  • Go語言學習筆記之字符串一
    Go語言是一個年輕人,身上擁有c++,java,python等語言的特點。在網絡通信、並發和並行編程擁有極好的體驗,當然不僅僅在這上上面,還有網絡編程,web應用,應用下載等有著非常大的潛力。這裡列舉一些 Go 語言的特點: 簡化問題,易於學習 內存管理,簡潔語法,易於使用 快速編譯,高效開發 高效執行 並發支持,輕鬆駕馭, 靜態類型 標準類庫,規範統一 易於部署 文檔全面 免費開源學習go語言有幾天了,今天突然想到把學的寫成筆記,記錄一下。如有不正確的請指教。
  • 濟南樂博C++少兒編程培訓
    為什麼要讓孩子學C++編程1.提升孩子邏輯思維能力2.培養孩子的創新能力3.全國競賽,助力升學4.感受編程與數學之間的關係,完成較複雜應用程式的編寫。 深入學習隊列、遞歸、遞推、枚舉、貪心等知識點,結合第一期所學基礎知識點,掌握經典數據結構和算法。 進一步讓學生對深搜、動態規劃、併查集、博弈論等較難知識點進行深度剖析。