腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
2
回答
具有
静态
存储时间
的
常量
初始化
变量
的
初始化
顺序
、
、
、
基于以下代码片段:const int b = a; 我们知道
常量
初始化
是为这两个变量执行
的
,
常量
初始化
是
静态
初始化
。由于
静态
初始化
的
顺序
未指定(与动态
初始化
不同,动态
初始化
已指定其
顺序
),这会不会导致未定义
的
行为,就好像b
的
静态
初始化
发生
浏览 3
提问于2019-10-21
得票数 1
1
回答
在评估潜在常数表达式时未定义
的
行为
、
、
具有
静态
存储持续时间(3.7.1)或线程存储持续时间(3.7.2)
的
变量在进行任何其他
初始化
之前必须为零
初始化
(8.5)。-.--如果具有
静态
或线程存储持续时间
的
对象没有被构造
函数
调用
初始化
,并且出现在
初始化
器中
的
每个完整表达式都是一个
常量
表达式。零
初始化
和
常量
初始化
一起被称为
静态<
浏览 4
提问于2013-12-31
得票数 10
回答已采纳
1
回答
gcc
静态
初始化
前发生动态
初始化
的
原因
、
、
如果具有
静态
或线程存储持续时间
的
变量或临时对象被用于entity.If
常量
初始化
的
常量
初始化
器
初始化
,而具有
静态
存储持续时间或线程存储持续时间
的
变量为零
初始化
,则执行
常量
初始化
。类NonConstant
的
构造
函数
不是由NonConstant a = 2;指定
的
,NonConstant a = 2;
的</
浏览 6
提问于2020-05-29
得票数 1
回答已采纳
1
回答
C++中常数
初始化
顺序
与零
初始化
顺序
的
矛盾定义
、
、
、
、
我一直试图了解
静态
变量是如何
初始化
的
。并指出了和中常数
初始化
与零
初始化
顺序
的
矛盾。在,上面写着:
常量
初始化
是在
静态
和线程本地对象
的
零
初始化
之后和所有其他
浏览 14
提问于2021-09-21
得票数 6
回答已采纳
1
回答
我在C++草案GitHub中找不到问题或请求,支持[basic.start.static]/2中下面的更改
、
N4791 - 2018-12-07 (这与basic.start.Static/2
的
中
的
措辞相吻合) 如果具有
静态
或线程存储持续时间
的
变量或临时对象被实体
的
常量
初始化
器(7.7)
初始化
,则执行
常量
初始化
如果不执行
常量
初始化
,则具有
静态
存储持续时间(6.6.4.1)或线程存储持续时间(6.6.4.2)
的
变量为零
初始化
浏览 1
提问于2019-04-24
得票数 0
回答已采纳
1
回答
枚举
常量
特定
初始化
、
、
、
、
现在,我们都知道枚举是一个很好
的
方法来做多个(即。具有固定数量实例
的
类),因为每个
常量
几乎都是您自己
的
enum类
的
单个子类。然而,我遇到了一个问题,如何让枚举
常量
进行特定
的
初始化
。InputMethod.FOO中
初始化
FooFactory实例。我不能把它放在枚举类型
的
构造
函数
中,因为InputMethod.BAR没有以任何方式
使用
FooFactory。由于
静态
<e
浏览 1
提问于2012-10-06
得票数 0
2
回答
全局变量
的
静态
初始化
是否在“`main()”之前完成?
、
、
1998年C++标准
的
有关摘录如下: 对于具有
静态
存储持续时间
的
对象,在进行任何其他
初始化
之前,必须对其进行零
初始化
。零
初始化
和带有
常量
表达式
的
初始化
统称为
静态
初始化
;所有其他
初始化
都是动态
初始化
。用
常量
表达式
初始化
的
具有
静态
存储时间
的
对象在进行任何动态
初始化</e
浏览 5
提问于2014-07-29
得票数 11
2
回答
确保
静态
对象
的
静态
(
常量
)
初始化
、
首要问题是:程序员如何确保他
的
非本地
静态
变量是通过
静态
初始化
而不是通过动态
初始化
来
初始化
的
? 由于零
初始化
总是完成,那么我们应该看看
常量
初始化
。3.6.2.2对象o
的
常量
初始化
器是一个
常量
表达式,但它也可以调用o及其子对象
的
constexpr构造
函数
--即使这些对象是非文字类类型--注意:此类类可能有一个非平凡
浏览 1
提问于2014-10-03
得票数 24
1
回答
是否保证了常数
初始化
模板变量
的
初始化
顺序
?
、
、
、
、
来自
使用
constexpr是否可以消除此漏洞? 也就是说,下面的代码
的
输出是否保证为success?我不关心在这个例子中是否发生了动态
初始化
,我担心
的
是,既然在动态
初始化
情况下不能
浏览 0
提问于2018-05-17
得票数 8
2
回答
静态
常量
类成员
、
、
、
我有许多
常量
需要在整个程序中引用。我
使用
的
不是全局变量,而是
静态
常量
类成员:{ static const int HANDS = 2;const int Human::HANDS = ReadDataFromFile(); 由于
初始化
的
顺序
只能在相同
浏览 0
提问于2012-10-16
得票数 6
回答已采纳
2
回答
如何确保
静态
成员
初始化
顺序
?
、
我对const
静态
字符串类成员
的
初始化
顺序
有问题。
静态
初始化
(忽略getInstance)。但是,如果我尝试在另一个翻译单元中
使用
这个
常量
,像这样:{ OtherClass() // tried uncommenting我知道全局
初始化
顺序
不是跨翻译单元定义
的
,我猜类似的东西适用于这里? 但是
浏览 4
提问于2014-12-02
得票数 1
2
回答
在给定
的
翻译单元中,文件级
静态
变量
的
顺序
总是相同
的
吗?
、
、
、
);example__main.cpp{} 此程序
的
输出是否保证为如果是的话,它在标准中是怎么说
的
呢?如果我
使用
的
是名称空间,而first和second出现在不同
的
名称空间中,这有关系吗?如果它们不是
静态
的
,而且我
使用
的
是匿名命名空间呢?
浏览 1
提问于2011-11-10
得票数 5
回答已采纳
2
回答
静态
初始化
的
非文字对象
的
销毁
顺序
、
、
、
、
一个让我注意到
的
方式。新特性是,具有
静态
存储持续时间
的
非局部变量可以在
静态
初始化
阶段
初始化
,如果其
初始化
器由constexpr构造
函数
组成,即使变量
的
类型不是文字类型。更确切地说,basic.start.init中
的
新措辞是: 对象o
的
常量
初始化
器是一个
常量
表达式,但它也可以调用o及其子对象
的
constexpr构造
函数
浏览 2
提问于2014-11-29
得票数 11
1
回答
在C程序中会发生
静态
初始化
顺序
失败吗?
、
、
当我搜索
静态
初始化
顺序
问题时,我在C++中看到了许多解释此问题
的
示例。我想知道:
静态
初始化
顺序
失败问题会出现在C程序中吗?
浏览 18
提问于2020-02-08
得票数 1
回答已采纳
3
回答
静态
重新
初始化
期间,
静态
分配
的
内存会变得无效吗?
、
、
、
假设我定义了这样一个变量(C++):我有一个
静态
分配
的
类实例,它在析构
函数
中引用这个数组,这会出错吗我
的
假设是,我们无法预测调用
静态
分配对象
的
析构
函数
的
顺序
,但在进程被撕毁之前,数据本身永远不会真正释放。这意味着指向POD
的
指针应该是安全
的
,而不是对象实例。str = &
浏览 5
提问于2010-09-24
得票数 2
回答已采纳
5
回答
为什么
静态
变量
的
初始化
仅限于
常量
表达式?
、
来自"C++ Primer,第5版“,第407页:简单地说,根据标准,不能保证main
的
第一条语句之前
的
指令将按
顺
浏览 0
提问于2011-12-06
得票数 3
回答已采纳
1
回答
应否在其他
初始化
之前进行群集
初始化
?
我有下面的代码,它
的
行为与gcc和clang
的
预期一致。然而,MSVC给了我一个意想不到
的
结果。对我来说,在常规
初始化
之前进行constexpr
初始化
是有意义
的
。我也许应该注意到,我
使用
的
是MSVC版本14.0.22823
浏览 1
提问于2015-07-17
得票数 6
回答已采纳
2
回答
不同平移单元中依赖
的
非局部
常量
浮点变量w/
静态
存储持续时间
的
常数
初始化
、
、
、
我想知道,当两个具有
静态
存储时间
的
常量
非局部变量在两个不同
的
转换单元中存在依赖关系时,是否可以依赖
常量
初始化
,其中一个依赖于(
初始化
为另一个
的
值),而对于后者,则执行
常量
初始化
。(这反过来回答它是通过
静态
初始化
还是动态
初始化
实现
的
) basic.start.init/1声明
浏览 1
提问于2019-05-21
得票数 1
回答已采纳
1
回答
使用
函数
初始化
的
静态
常量
的
初始化
顺序
、
、
、
、
简而言之,我需要用从文件中获得
的
一些值来
初始化
一个
常量
静态
成员,从而使它对于从它派生
的
每个对象都是相同
的
。> result;} std::cout << A::VAL1 << " " << A::VAL2 << "\n";是否保证
静态
成员总是在创建对象之前被
初始化
,因为这正是我想要<e
浏览 19
提问于2016-09-01
得票数 1
回答已采纳
1
回答
C++中全局
函数
中
的
静态
常量
、
通常,我们是在全局
函数
的
头文件中定义和
初始化
静态
常量
,还是在其cpp文件中定义和
初始化
静态
常量
(注意,每个文件只定义了一个全局
函数
)。
浏览 0
提问于2016-03-18
得票数 0
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
腾讯会议
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券