關於c 和 c 中定義全域性常量的異同

2021-07-15 05:29:46 字數 518 閱讀 4021

之前學習c語言的時候,要用到全域性的常量,必須要在.h檔案中用static const 定義。

例如:global.h

#include static const int a = 5;

static const float b = 5;

extern int c;

void test();

test.c

#include "global.h"

int c = 7;

void test()

main.c

#include "global.h"

int main()

然後,轉到c++以後,自然而然的保留了這個習慣。直到今天,在乙個專案中發現全域性常量居然沒用static修飾,鏈結時也沒問題,才直到,在c++中,是不用static 修飾全域性常量也沒問題的。只是,全域性的常量,一定要用const限定。

C 全域性常量與變數的定義方法

1 全域性變數 extern 當兩個類都需要使用共同的變數,我們將這些變數定義為全域性變數。比如,res.h和res.cpp分別來宣告和定義全域性變數,類producerthread和consumerthread來使用全域性變數。res.h宣告全域性變數 pragma once include co...

全域性常量 PHP常量的定義和用法

我們通常把不經常變的值定義成常量,常量一般用全部大寫來表示,前面不加美元符號,也可減少團隊開發的出錯。那麼define和const有什麼區別呢?1 const是乙個語言結構 而define是乙個函式,可以通過第三個引數來指定是否區分大小寫。true表示大小寫不敏感,預設為false define p...

C 類中定義常量

在c 類中定義常量,有以下兩種方法 1.在類定義體內定義列舉常量 例如 class a 這樣定義出來的常量值在程式執行過程中是不能被修改的,編譯的時候就已經確定了這些常量的值 2.在類定義體中宣告使用static const來修飾成員常量,然後在類定義體外對這些成員進行初始化 也就是說在類定義體內定...