国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

c語言符號常量的定義方法 當類中含有常量和靜態(tài)數(shù)據(jù)成員時,如何對它們初始化?

當類中含有常量和靜態(tài)數(shù)據(jù)成員時,如何對它們初始化?類中只能初始化靜態(tài)常量整數(shù)數(shù)據(jù)成員。這是因為,當時人們認為類定義中的數(shù)據(jù)定義是聲明,而不是數(shù)據(jù)定義。僅當對象(變量、常量)由類定義時才定義數(shù)據(jù)。靜態(tài)常

當類中含有常量和靜態(tài)數(shù)據(jù)成員時,如何對它們初始化?

類中只能初始化靜態(tài)常量整數(shù)數(shù)據(jù)成員。

這是因為,當時人們認為類定義中的數(shù)據(jù)定義是聲明,而不是數(shù)據(jù)定義。

僅當對象(變量、常量)由類定義時才定義數(shù)據(jù)。

靜態(tài)常量整數(shù)數(shù)據(jù)成員

1)不是對象的一部分

2)可以生成常量表達式,因此可以在類中初始化。---否則,不適合將其用作數(shù)組的大小。

靜態(tài)常量整數(shù)數(shù)據(jù)成員可用作常量表達式。如果沒有在內(nèi)部定義

,則在沒有定義的情況下不能使用常量表達式。

C 11非靜態(tài)成員變量(常量)可以直接初始化,也可以在初始化表中初始化。

在C 11中初始化非靜態(tài)成員變量(常量)可視為為為變量(常量)分配默認值。

如何理解“即使一個常量靜態(tài)數(shù)據(jù)成員在類內(nèi)部被初始化了,通常情況下也應(yīng)該在類的外部定義下該成員”?

在c入門第五版中,只涉及c 11的特性,因此不支持static const int n。以下答案假設(shè)您的文章來自c入門第五版。

本段中的常量靜態(tài)數(shù)據(jù)成員是指同時添加constexpr和static關(guān)鍵字的數(shù)據(jù)成員。由于向其添加了constexpr,因此可以在類中定義初始值(通常,靜態(tài)成員變量不能在類中定義)。constexpr的特性決定了初始值可以在類中定義,因為constexpr限制它必須是常量表達式??梢栽诰幾g時用相應(yīng)的文本值替換所有constexpr變量。

因此,由constexpr和static關(guān)鍵字修改的數(shù)據(jù)成員實際上并不存在,而是由值替換。我想可能是為了方便??赡蹸只替換相應(yīng)范圍內(nèi)的,所以它只替換類內(nèi)的。因此,添加到類中的帶有constexpr和static關(guān)鍵字的變量實際上并不存在,因此如果需要在類外使用常量靜態(tài)數(shù)據(jù)成員,您還需要在類外定義它

Java中靜態(tài)常量和靜態(tài)變量的區(qū)別是不同的:靜態(tài)變量屬于類,所以也稱為類變量;成員變量屬于對象,所以稱為類變量,也稱為實例變量(object variables)內(nèi)存中的不同位置:靜態(tài)變量存儲在方法區(qū)域的靜態(tài)區(qū)域;成員變量存儲在堆內(nèi)存區(qū)域;成員變量隨著對象(也稱為實例)的創(chuàng)建而存在,隨著對象的消失而消失。靜態(tài)變量可以通過類名或?qū)ο笳{(diào)用;成員變量只能通過對象名調(diào)用。靜態(tài)方法中沒有this關(guān)鍵字。如何理解?非靜態(tài)方法可以同時調(diào)用靜態(tài)和非靜態(tài)成員變量;非靜態(tài)方法可以同時調(diào)用靜態(tài)和非靜態(tài)成員方法。