![]() |
1
97
我相信你是说
如果在名称空间范围内声明一个常量对象,那么它具有内部链接,这是真的。 附录C给出了理由
|
![]() |
2
10
正如litb所说,const对象具有内部链接。这是因为它们的用途如下:
|
![]() |
3
6
在C++中,“静态”有多种含义(它可以管理链接和存储)。 您必须阅读stroustrup的d&e来理解他的基本原理——但是当您在名称空间范围内声明一个变量为const时,它会自动具有内部链接——而在c中,您必须声明它是静态的,以强制它具有内部链接。 当然,在C++中,已经禁止使用静态来控制链接,在C++中可以使用匿名命名空间来模拟内部链接。 C++中的const变量应该取代预处理器常量,并且由于预处理器常量只能在定义它们的文件中可见,同样,const会自动使变量仅在定义它的文件中可见。 |
![]() |
4
5
const和static是C和C++中的正交概念。
这个
在C中
在C++中
|
![]() |
5
3
这些概念是正交的 不应该认为是同一件事。 constness是一种访问策略:它只告诉您的变量应该是只读(const)还是写-读(non-const)。 静态性是一个终身(技术上是内存本地化)属性:它告诉变量是类范围内的全局变量(在类中时)还是翻译单元(与CPP中定义的全局变量一起使用时)。 |
![]() |
6
-2
它没有,最明显的例子是,如果您有一个常量成员变量(当然是由构造函数初始化的),它不是由该类的所有对象共享的,而是每个对象共享的。
李特给出了最好的答案。 |
![]() |
7
-4
没有。写下以下内容:
不做
|
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |