Tag: 初始化

如何在C初始化数组为0?

C中需要一个大的空数组作为全局variables。 除了input外,还有什么办法可以做到吗? char ZEROARRAY[1024] = {0, 0, 0, /* … 1021 more times… */ }; ?

在linux / OS X上启动mongod服务的正确方法是什么?

我已经安装了mongodb,并能够运行它,使用它,做简单的数据库读/写types的东西。 现在我试图设置我的Mac来运行mongod作为服务。 我得到了“命令未find”的回应: 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 所以显然我有点失落。 接下来的步骤似乎是随机字符input,直到有用的东西。 这个工作的命令是: mongod –quiet &我不知道,也许这是你应该这样做的方式? 也许我应该脱掉“安静模式”,并在命令行末尾添加> /logs/mongo.log ? 我正在Mac上构build一个开发环境,目的是在Linux服务器上做同样的事情。 我只是不确定Bash命令。 所有其他的search我试图拉出答案给我的build议windows机器。 也许有人知道linux版本的命令? […]

如何模拟C数组初始化“int arr = {e1,e2,e3,…}”行为与std :: array?

(注意:这个问题是关于不必指定元素的数量,仍然允许直接初始化嵌套types。) 这个问题讨论了C数组的用法,比如int arr[20]; 。 在他的回答中 ,@James Kanze展示了C数组的最后一个据点之一,它是独特的初始化特性: int arr[] = { 1, 3, 3, 7, 0, 4, 2, 0, 3, 1, 4, 1, 5, 9 }; 我们不必指定元素的数量,万岁! 现在用<iterator> ( 或你自己的变体 )的C ++ 11函数std::begin和std::end <iterator> ,你甚至不需要考虑它的大小。 现在,有没有(可能是TMP)的方式来实现相同的std::array ? 使用macros可以使它看起来更好。 🙂 ??? std_array = { "here", "be", "elements" }; 编辑 :从各种答案编译的中级版本,看起来像这样: #include <array> #include <utility> template<class T, […]

Java:如何初始化String ?

错误 % javac StringTest.java StringTest.java:4: variable errorSoon might not have been initialized errorSoon[0] = "Error, why?"; 码 public class StringTest { public static void main(String[] args) { String[] errorSoon; errorSoon[0] = "Error, why?"; } }

为什么我可以像在C#中的数组初始化列表?

今天我惊讶地发现,在C#中我可以这样做: List<int> a = new List<int> { 1, 2, 3 }; 我为什么要这样做? 什么构造函数被调用? 我怎样才能用我自己的课程呢? 我知道这是初始化数组的方式,但数组是语言项目和列表是简单的对象…

Java:int数组使用非零元素进行初始化

根据JLS,一个int数组在初始化之后应该被零填充。 但是,我面临的情况并非如此。 这种行为首先发生在JDK 7u4中,并且也出现在以后的所有更新(我使用64位实现)中。 以下代码引发exception: 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 = 0; […]

如何声明一个ArrayList的值?

Java中的ArrayList或List声明质疑并回答了如何声明一个空的ArrayList但我该如何声明一个ArrayList的值? 我试过以下,但它返回一个语法错误: import java.io.IOException; import java.util.ArrayList; public class test { public static void main(String[] args) throws IOException { ArrayList<String> x = new ArrayList<String>(); x = ['xyz', 'abc']; } }

静态构造函数在C + +? 我需要初始化私有静态对象

我想有一个私有的静态数据成员(包含所有字符az的向量)的类。 在java或C#中,我可以创build一个“静态构造函数”,它将在我创build类的任何实例之前运行,并设置类的静态数据成员。 它只运行一次(因为variables是只读的,只需要设置一次),因为它是类的函数,它可以访问其私有成员。 我可以在构造函数中添加代码,以检查向量是否已初始化,如果不是,则会初始化代码,但引入了许多必要的检查,看起来并不是问题的最佳解决scheme。 我想到,由于variables是只读的,所以它们可以是公共的静态常量,所以我可以在课堂以外设置它们,但是再一次,它看起来有点像一个丑陋的黑客。 如果我不想在实例构造函数中初始化它们,是否有可能在类中有私有静态数据成员?

初始化C#自动属性

我习惯于这样写类: public class foo { private string mBar = "bar"; public string Bar { get { return mBar; } set { mBar = value; } } //… other methods, no constructor … } 将Bar转换为自动属性看起来方便简洁,但是如何在不添加构造函数的情况下保留初始化并将初始化放在那里呢? public class foo2theRevengeOfFoo { //private string mBar = "bar"; public string Bar { get; set; } //… other methods, no constructor […]

init()函数何时运行?

我试图findGo(Golang)中init()函数做什么的精确解释。 我读了Effective Go说什么,但是我不确定我是否完全理解它说的是什么。 我不确定的确切句子如下: 最后,最后的意思是:在包中的所有variables声明已经评估了它们的初始值之后调用init,并且只有在所有导入的包已经被初始化之后才被赋值。 all the variable declarations in the package have evaluated their initializers中的all the variable declarations in the package have evaluated their initializers值的呢? 这是否意味着如果你在一个包和它的文件中声明了“全局variables”,init()将不会运行,直到所有的它被计算出来,然后运行所有的init函数,然后main()运行./main_file_name时。 我也读过马克·萨姆菲尔德的下面这本书: 如果一个包有一个或多个init()函数,它们会在主包的main()函数被调用之前自动执行。 在我的理解, init()只有当你运行意图运行main()的权利? 或主包。 任何人都可以更准确地理解init()随时纠正我