草庐IT

Initialization

全部标签

c++ - 全局内存是否在 C++ 中初始化?

全局内存是否在C++中初始化?如果有,怎么做?(第二次)澄清:当程序启动时,在初始化原语之前,内存空间中有什么将成为全局内存?我试图了解它是归零还是垃圾。情况是:可以在初始化之前通过instance()调用设置单例引用吗:MySingleton*MySingleton::_instance=NULL;然后得到两个单例实例?查看我关于单例的多个实例的C++测验... 最佳答案 来自标准:Objectswithstaticstorageduration(3.7.1)shallbezero-initialized(8.5)beforean

c++ - Armadillo C++ : matrix initialization from array

我是使用Armadillo的新手,尽管尝试/搜索了很多,但无法获得以下内容。我需要对两个巨大的(动态)数组(不是vector)执行关联。我决定为此使用Armadillo。我了解如何使用vector初始化arma::mat,但我可以使用数组来这样做吗?我不明白,因为我在documentation中没有看到任何提及.出于内部设计原因,我试图避免使用vector。我尝试使用示例数组手动初始化每个元素(作为一个愚蠢但起点)。类似下面的代码是行不通的。usingnamespacestd;usingnamespacearma;matA(SIZE,1),B(SIZE,1);for(inti=0;i对

c++ - Armadillo C++ : matrix initialization from array

我是使用Armadillo的新手,尽管尝试/搜索了很多,但无法获得以下内容。我需要对两个巨大的(动态)数组(不是vector)执行关联。我决定为此使用Armadillo。我了解如何使用vector初始化arma::mat,但我可以使用数组来这样做吗?我不明白,因为我在documentation中没有看到任何提及.出于内部设计原因,我试图避免使用vector。我尝试使用示例数组手动初始化每个元素(作为一个愚蠢但起点)。类似下面的代码是行不通的。usingnamespacestd;usingnamespacearma;matA(SIZE,1),B(SIZE,1);for(inti=0;i对

c++ - 在派生类初始化器列表中初始化模板基类成员类型

这里有一些代码概述了我一直在努力解决的问题。最后一个问题(目前就g++而言)是:执行Bar::Bar(...)构造函数例程时,“错误:'Foo-T'未在此范围内声明”。否则,我试图解决的问题是基于使用模板传递给派生类构造函数的参数设置基类成员类型之一。如果有一种方法可以简单地通过将参数传递给派生类构造函数来设置基类成员类型(TFoo-T),我更愿意这样做。到目前为止,我看不到同时使用模板参数和匹配的派生类构造函数参数来完成此任务的方法。您能在以下代码中发现我可以做得更好以实现相同目标的任何内容吗?我对通用编码和模板比较陌生。#includetypedefinta_arg_t;typed

c++ - 在派生类初始化器列表中初始化模板基类成员类型

这里有一些代码概述了我一直在努力解决的问题。最后一个问题(目前就g++而言)是:执行Bar::Bar(...)构造函数例程时,“错误:'Foo-T'未在此范围内声明”。否则,我试图解决的问题是基于使用模板传递给派生类构造函数的参数设置基类成员类型之一。如果有一种方法可以简单地通过将参数传递给派生类构造函数来设置基类成员类型(TFoo-T),我更愿意这样做。到目前为止,我看不到同时使用模板参数和匹配的派生类构造函数参数来完成此任务的方法。您能在以下代码中发现我可以做得更好以实现相同目标的任何内容吗?我对通用编码和模板比较陌生。#includetypedefinta_arg_t;typed

c++ - 位域 "In-class initialization"结果为 "error: lvalue required as left operand of assignment"

structbitfield{inti=0;//okintj:8=0;//error:lvaluerequiredasleftoperandofassignment};使用C++11“类内初始化”功能初始化位域的正确语法是什么? 最佳答案 这是作为C++标准的核心问题1341提出的,但在2015年10月被C++核心工作组拒绝为NAD(“不是缺陷”)-参见http://open-std.org/JTC1/SC22/WG21/docs/cwg_closed.html#1341 关于c++-位

c++ - 位域 "In-class initialization"结果为 "error: lvalue required as left operand of assignment"

structbitfield{inti=0;//okintj:8=0;//error:lvaluerequiredasleftoperandofassignment};使用C++11“类内初始化”功能初始化位域的正确语法是什么? 最佳答案 这是作为C++标准的核心问题1341提出的,但在2015年10月被C++核心工作组拒绝为NAD(“不是缺陷”)-参见http://open-std.org/JTC1/SC22/WG21/docs/cwg_closed.html#1341 关于c++-位

c++如何初始化数组的const元素

我需要一种方法来为我当前正在处理的程序初始化数组的const元素。问题是我必须用一个函数来初始化这些元素,没有办法这样做:constintarray[255]={1,1278632,188,...};因为我必须生成大量数据。我尝试将memcpy数据保存到constint中,但这不起作用,也没有起作用。constintarray[255];voidgenerateData(){for(inti=0;i我希望你明白我在尝试什么,对不起,如果我重复了这个问题,我一定忽略了它。 最佳答案 这个怎么样?#includetypedefstd::

c++如何初始化数组的const元素

我需要一种方法来为我当前正在处理的程序初始化数组的const元素。问题是我必须用一个函数来初始化这些元素,没有办法这样做:constintarray[255]={1,1278632,188,...};因为我必须生成大量数据。我尝试将memcpy数据保存到constint中,但这不起作用,也没有起作用。constintarray[255];voidgenerateData(){for(inti=0;i我希望你明白我在尝试什么,对不起,如果我重复了这个问题,我一定忽略了它。 最佳答案 这个怎么样?#includetypedefstd::

c++ - 初始化列表是否总是在构造函数代码之前处理?

初始化列表会一直在构造函数代码之前处理吗?换句话说,下面的代码是否总是打印,并且构造的类将具有“已知”作为source_的值(如果全局变量something是true)?classFoo{std::stringsource_;public:Foo():source_(""){std::cout 最佳答案 是的,它会按照C++11:12.6.2/10(C++14、15.6.2/中的相同部分13inC++17):在非委托(delegate)构造函数中,初始化按以下顺序进行(我的粗体):首先,并且仅对于最派生类(1.8)的构造函数,虚拟基