initialization相关内容

如何使用预先排序的数据初始化 TreeMap?

我的应用使用 TreeMap 来保持数据排序并进行日志(n)查找和插入.这在应用程序运行时的一般情况下效果很好,但是当应用程序第一次启动时,我需要用几百万个 long 来初始化 TreeMap,我得到了 sorted order(升序). 由于这些初始化值已经排序,有没有办法将它们插入到 TreeMap 而无需支付树插入和重新平衡的 log(n) 成本? 解决方案 好的!TreeMa ..
发布时间:2022-01-18 23:49:43 Java开发

在 C++ 中使用隐式转换进行复制初始化

类 Foo {上市:Foo(float b) {}};类酒吧{上市:酒吧(Foo foo){}};int main(int argc, char *argv[]) {酒吧 b1(3.0f);//接受,一个隐式转换发生在那里.酒吧 b2 = 3.0f;//错误:没有从 'float' 到 'Bar' 的可行转换返回0;} 为什么第二个表达式编译失败?我希望它会调用与第一个表达式相同的转换构造函数. ..
发布时间:2022-01-18 23:49:33 C/C++开发

Java 中声明的、未初始化的变量会发生什么?

它有价值吗? 我试图了解 Java 中已声明但未初始化的变量/对象的状态. 我无法实际测试它,因为我不断收到 "Not Initialized" 编译错误,而且我似乎无法抑制它. 例如,我猜如果变量是 integer,它可能等于 0. 但是如果变量是一个字符串,它会等于 null 还是 isEmpty() 会返回 true? 所有未初始化变量的值是否相同?还是每个声明 ..
发布时间:2022-01-18 23:49:26 Java开发

复制初始化的奇怪行为,不调用复制构造函数!

我正在阅读直接初始化和复制初始化之间的区别(第 8.5/12 节): T x(a);//直接初始化T y = a;//复制初始化 我从阅读 copy-initialization 是它需要 可及性非显式复制构造函数,否则程序将无法编译.我通过编写以下代码验证了它: 结构 A{诠释我;A(int i) : i(i) { std::cout ..

C++ 实例初始化语法

给定这样的课程: 类 Foo {上市:富(整数);Foo(const Foo&);福&运算符=(int);私人的://...}; 这两行是完全等价的,还是它们之间有细微的差别? Foo f(42);富 f = 42; 编辑:我通过在原始问题中使 Foo 构造函数“显式"来混淆问题.我已将其删除,但感谢您的回答. 我还添加了复制构造函数的声明,以明确复制可能不是一个简单的操作. ..
发布时间:2022-01-18 23:48:28 C/C++开发

初始化器列表 *argument* 评估顺序

因此,C++ 标准要求类成员按照它们在类中声明的顺序进行初始化,而不是按照它们在任何构造函数的初始化列表中的顺序进行初始化.但是,这并不意味着评估这些初始化的参数的顺序.我正在使用一个经常传递对序列化对象的引用的系统,并且想知道我是否可以确保以正确的顺序从中读取位,而与这些位写入对象字段的顺序无关. struct Foo {诠释一个;双乙;//我希望能够做到这一点Foo(SerObj &s): ..

C# 变量初始化问题

我是否初始化一个整数变量有什么区别: int i = 0;诠释我; 编译器或 CLR 是否将其视为同一件事?IIRC,我认为它们都被视为同一个东西,但我似乎找不到这篇文章. 解决方案 我查看了IL(使用ildasm),确实只有设置为0的int在构造函数中真正设置为0. 公共类 Class1{int setToZero = 0;诠释未设置;} 生成: .method public ..
发布时间:2022-01-18 23:47:48 C#/.NET

初始化列表中调用函数有问题吗?

我正在编写这个拷贝构造函数: //RegMatrix的CCtorRegMatrix::RegMatrix(const RegMatrix &other){这->numRow = other.getRow();这->numCol = other.getCol();//创建_matrix = createMatrix(other.numRow,other.numCol);整数 i, j;//复制矩阵 ..
发布时间:2022-01-18 23:47:36 C/C++开发

我可以在 C++ 运行时初始化静态 const 成员吗?

是否可以在运行时初始化我的类的静态 const 成员?这个变量在我的程序中是一个常量,但我想将它作为命令行参数发送. //A.hA类{上市:静态常量int T;};//在主方法中int main(int argc,char** argv){//我该怎么做A::T = atoi(argv[1]);} 如果无法做到这一点,我应该使用什么类型的变量?我需要在运行时初始化它并保留常量属性. 解决 ..
发布时间:2022-01-18 23:47:16 C/C++开发

在 SPI 问题中初始化 SD 卡

我看过 Stack Overflow 问题使用 SPI 接口初始化 microSD 卡 并没有看到任何与我的问题相匹配的答案(也就是说,我还没有尝试过的事情). 我有一个类似的问题,我试图通过微控制器的 SPI 接口(特别是 HC908).我已经尝试遵循物理层简化规范 v2.00 中的流程图,它似乎在 Transcend 1 GB & 上正确初始化2 GB 和 AE&C 1 GB 卡.但是我 ..
发布时间:2022-01-18 23:46:57 其他开发

为什么我必须在默认为 0 时为 C# 中的 int 赋值?

这行得通: 类 MyClass{诠释一个;公共 MyClass(){诠释 b = a;}} 但这会导致编译器错误(“使用未分配的局部变量'a'"): 类 MyClass{公共 MyClass(){诠释一个;诠释 b = a;}} 据我所知,这是因为在第一个示例中,从技术上讲,编译器不知道没有分配“a".在后一个示例中,“a"是在本地定义的,因此很容易跟踪. 但为什么后一个例子不起作用 ..
发布时间:2022-01-18 23:46:52 C#/.NET

Java 检查变量是否已初始化

我需要使用类似于 php 的 isset 函数的东西.我知道 php 和 java 是非常不同的,但 php 是我以前对类似于编程的知识的唯一基础.是否有某种方法可以返回一个布尔值来判断实例变量是否已被初始化.比如…… if(box.isset()) {box.removeFromCanvas();} 到目前为止,当我的程序试图隐藏或删除尚未构造的对象时,我遇到了一个运行时错误. 解决方 ..
发布时间:2022-01-18 23:46:42 Java开发

在构造函数初始化程序中确定数组大小

在下面的代码中,我希望在调用 Class 构造函数时将数组定义为大小为 x 的数组.我该怎么做? class 类{上市:整数数组[];类(int x):???{ }} 解决方案 你不能用在编译时无法计算的非常量维度来初始化数组的大小(至少在当前的 C++ 标准中不是这样), AFAIK). 我建议使用 std::vector 而不是数组.它为大多数操作提供了类似数组的语法. ..
发布时间:2022-01-18 23:46:34 C/C++开发

使用相同的布尔值初始化列表

没有循环是否可以将所有列表值初始化为某个布尔值?例如,我想要一个包含 N 个元素的列表,全部为 False. 解决方案 你可以这样做:- >>>[错误] * 10[假,假,假,假,假,假,假,假,假,假] 注意:-请注意,您永远不应该对具有相同值的 mutable types 的 list 执行此操作,否则您会看到以下示例中的令人惊讶的行为:- >>>我的列表 = [[10]] * ..
发布时间:2022-01-18 23:46:27 Python

等号对大括号初始化有影响吗?例如.'T a = {}' 与'T a{}'

在C++11中有两种初始化变量的方法: T a {something};T a = {某事}; 我在我能想到的所有场景中都测试了这两个,但我没有注意到其中的差异.这个答案表明两者之间存在细微差别: 对于我不太注意 T t = { init }; 或 T t { init }; 样式之间的变量,我发现区别在于次要的,最坏的情况只会导致关于滥用显式构造函数的有用编译器消息. 那么,这两 ..
发布时间:2022-01-18 23:46:19 C/C++开发

我应该将初始 java 字符串值从 null 设置为“"吗?

我经常有这样的课程: 公共类 Foo{私有字符串字段1;私有字符串字段2;//等等等等等等} 这使得 field1 和 field2 的初始值等于 null.让我的所有 String 类字段如下所示会更好吗? 公共类 Foo{私有字符串字段1 =“";私有字符串字段2 =“";//等等等等等等} 然后,如果我与类定义一致,我会避免很多空指针问题.这种方法有什么问题? 解决方案 我不 ..
发布时间:2022-01-18 23:46:03 Java开发