Questions tagged «initialization»


7
Java中数组的默认初始化是什么?
所以我要声明并初始化一个int数组: static final int UN = 0; int[] arr = new int[size]; for (int i = 0; i < size; i++) { arr[i] = UN; } 说我改为这样做... int[] arr = new int[5]; System.out.println(arr[0]); ... 0将按标准输出。另外,如果我这样做: static final int UN = 0; int[] arr = new int[5]; System.out.println(arr[0]==UN); ... true将按标准输出。那么Java默认如何初始化我的数组?是否可以安全地假设默认初始化将数组索引设置为零,0这意味着我不必遍历数组并对其进行初始化? 谢谢。


12
方便的C ++结构初始化
我正在尝试寻找一种方便的方法来初始化“ pod” C ++结构。现在,考虑以下结构: struct FooBar { int foo; float bar; }; // just to make all examples work in C and C++: typedef struct FooBar FooBar; 如果我想方便地用C(!)初始化它,我可以简单地写: /* A */ FooBar fb = { .foo = 12, .bar = 3.4 }; // illegal C++, legal C 请注意,我想明确地避免使用以下表示法,因为如果将来我在结构中进行任何更改,它都会令我不寒而栗: /* B …


10
如何使用std :: array模拟C数组初始化“ int arr [] = {e1,e2,e3,…}”行为?
(注意:这个问题是关于不必指定元素的数量,而仍然允许嵌套类型直接初始化。) 这个问题讨论了C数组(如)所剩下的用法int arr[20];。@James Kanze 在回答中显示了C数组的最后据点之一,它具有独特的初始化特性: int arr[] = { 1, 3, 3, 7, 0, 4, 2, 0, 3, 1, 4, 1, 5, 9 }; 我们不必指定元素的数量,万岁!现在,使用C ++ 11函数std::begin和std::endfrom <iterator>(或您自己的变体)对其进行迭代,您甚至无需考虑其大小。 现在,是否有任何(可能是TMP)方法可以达到相同目的std::array?允许使用宏使它看起来更好。:) ??? std_array = { "here", "be", "elements" }; 编辑:中级版本,从各种答案编译而成,如下所示: #include <array> #include <utility> template<class T, class... Tail, class Elem = typename …

11
在Linux / OS X上启动mongod服务的正确方法是什么?
我已经安装了mongodb并能够运行它,使用它,做简单的数据库读/写类型的东西。现在,我正在尝试设置Mac以将mongod作为服务运行。 我收到“找不到命令”的响应: init mongod start 回应: ~: service mongod start service: This command still works, but it is deprecated. Please use launchctl(8) instead. service: failed to start the 'mongod' service 如果我尝试: ~: launchctl start mongod launchctl start error: No such process 因此,显然我在四处徘徊。下一步似乎是输入随机字符,直到某些方法起作用为止。该命令做的工作是:mongod --quiet &我不知道,也许是你的方式该怎么办呢?也许我应该只是退出“安静模式”并添加> /logs/mongo.log到命令行末尾? 我正在Mac上构建开发环境,目的是在linux服务器上做同样的事情。我只是不确定Bash命令。我尝试获取答案的所有其他搜索都为Windows计算机提供了建议。 也许有人知道命令的Linux版本? 非常感谢

4
C ++零初始化-为什么该程序中的`b`未初始化,而`a`已初始化?
根据此Stack Overflow问题的公认的(唯一的)答案, 用以下方法定义构造函数 MyTest() = default; 而是将对象初始化为零。 那为什么下面这样 #include <iostream> struct foo { foo() = default; int a; }; struct bar { bar(); int b; }; bar::bar() = default; int main() { foo a{}; bar b{}; std::cout << a.a << ' ' << b.b; } 产生以下输出: 0 32766 定义的两个构造函数都是默认值吗?对?对于POD类型,默认初始化为零初始化。 根据这个问题的公认答案, …

6
如何在Java中初始化长度为0的String数组?
该方法的Java文档 String[] java.io.File.list(FilenameFilter filter) 包含在返回说明中: 如果目录为空或过滤器未接受任何名称,则该数组为空。 我如何做类似的事情,并将String数组(或与此相关的任何其他数组)初始化为长度为0?

6
为什么在Swift中甚至需要便捷关键字?
由于Swift支持方法和初始化方法的重载,因此您可以将多个方法init并排放置,并使用您认为方便的方法: class Person { var name:String init(name: String) { self.name = name } init() { self.name = "John" } } 那么,为什么convenience关键字甚至存在呢?是什么使以下内容显着改善? class Person { var name:String init(name: String) { self.name = name } convenience init() { self.init(name: "John") } }


2
Java:int数组使用非零元素初始化
根据JLS,int数组应在初始化后立即用零填充。但是,我面临的情况并非如此。这种行为首先在JDK 7u4中发生,并且在以后的所有更新中也发生(我使用64位实现)。以下代码引发异常: public static void main(String[] args) { int[] a; int n = 0; for (int i = 0; i < 100000000; ++i) { a = new int[10]; for (int f : a) if (f != 0) throw new RuntimeException("Array just after allocation: "+ Arrays.toString(a)); Arrays.fill(a, 0); for (int j …



5
为什么C ++ 11不支持指定的初始化列表作为C99?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 2年前关闭。 改善这个问题 考虑: struct Person { int height; int weight; int age; }; int main() { Person p { .age = 18 }; } 上面的代码在C99中合法,但在C ++ 11中不合法。 什么是 C ++ 11 标准委员会排除支持此类方便功能的理由?
121 c++  c  c++11  initialization  c99 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.