Tag: 初始化

使用键名称初始化关联数组,但使用空值

我无法在书籍或网页上find任何例子,描述如何正确地初始化一个关联数组(只有名称)(空值) – 当然,除非这是正确的方法(?) 它只是觉得有一个更有效的方法来做到这一点: config.php文件 class config { public static $database = array ( 'dbdriver' => '', 'dbhost' => '', 'dbname' -> '', 'dbuser' => '', 'dbpass' => '' ); } // Is this the right way to initialize an Associative Array with blank values? // I know it works fine, but it just seems […]

为什么试图打印未初始化的variables并不总是导致错误消息

有些人可能会发现它类似于SO问题Java最终variables是否有默认值? 但是这个答案并没有完全解决这个问题,因为这个问题并不直接在实例初始化块中打印x的值。 当我尝试直接在实例初始化块内部打印x时,出现了问题,同时在块结束之前为x赋值: 情况1 class HelloWorld { final int x; { System.out.println(x); x = 7; System.out.println(x); } HelloWorld() { System.out.println("hi"); } public static void main(String[] args) { HelloWorld t = new HelloWorld(); } } 这给编译时错误,说明variablesx可能没有被初始化。 $ javac HelloWorld.java HelloWorld.java:6: error: variable x might not have been initialized System.out.println(x); ^ 1 error 案例2 而不是直接打印,我打电话打印function: class HelloWorld […]

为什么Java编译器不理解这个variables总是被初始化?

class Foo{ public static void main(String args[]){ final int x=101; int y; if(x>100){ y=-1; } System.out.println(y); } } Java编译器理解if语句的条件总是为true,因此y将始终被初始化。 没有编译错误,正如所料。 class Bar{ public static void main(String args[]){ final int x; x=101; int y; if(x>100){ y=-1; } System.out.println(y); } } 但是当我把x的声明和初始化分解成两行时,编译器似乎并没有得到这个条件总是正确的,y总是被初始化。 final int x; x=101; byte b; b=x; System.out.println(b); 同样的事情发生在这里,编译器会导致精度错误的丢失。 final int x=101; byte b; b=x; […]

默认初始化std :: array?

用C ++ 11 std::array ,我有保证std::array<T, N> x; 会默认初始化数组的所有元素? 编辑 :如果没有,是否有一个语法,将所有数组(包括零大小的数组)初始化所有元素的默认值? 编辑 :在cppreference ,默认的构造函数描述说: (constructor) (implicitly declared) (public member function) default-constructs or copy-constructs every element of the array 所以答案可能是肯定的。 但是我想根据标准或未来标准来确定。

PHP可以实例化类的名称作为一个string的对象?

如果类名存储在string中,是否有可能在PHP中实例化一个类名称的对象?

如何使用Hibernate将初始数据导入数据库?

在部署应用程序时,我经常使用Hibernate的能力来创build数据库模式,以简化部署。 这很容易通过configurationhibernate.hbm2ddl.auto属性来实现。 但是,有时我还需要将一些初始数据插入数据库,例如root用户。 有没有一种方法,我可以通过hibernate与某种加载文本文件来实现这一点? 我知道我可以很容易地编写这样做的代码,但只是想知道是否已经有一些实用工具可以帮助我通过configuration实现相同的function?

为什么const成员必须在构造函数初始化器中初始化,而不是在其本体中初始化?

为什么声明为const类成员必须在构造函数初始化列表中而不是在构造函数体中初始化? 两者有什么区别?

JavaFX:如何从初始化阶段从控制器阶段?

我想从我的控制器类处理舞台事件(即隐藏)。 所以我所要做的就是添加一个监听器 ((Stage)myPane.getScene().getWindow()).setOn*whatIwant*(…); 但问题是,初始化之后就开始了 Parent root = FXMLLoader.load(getClass().getResource("MyGui.fxml")); 和之前 Scene scene = new Scene(root); stage.setScene(scene); 因此.getScene()返回null。 我自己发现的唯一的解决方法是添加一个监听器myPane.sceneProperty(),当它变得不为空,我得到场景,添加到它的.windowProperty()我!该死的! 监听器处理,我终于检索阶段。 而这一切都以设置所需的听众到舞台事件结束。 我觉得听众太多了。 这是解决我的问题的唯一方法吗?

我怎样才能声明一个二维string数组?

string[][] Tablero = new string[3][3]; 我需要有一个3x3arrays安排来保存信息。 我如何在C#中声明这个?

C ++ 11允许对非静态和非常量成员进行类内初始化。 什么改变了?

在C ++ 11之前,我们只能对整型或枚举types的静态常量成员进行类内初始化。 Stroustrup在他的C ++ FAQ中讨论了这个问题 ,举例如下: class Y { const int c3 = 7; // error: not static static int c4 = 7; // error: not const static const float c5 = 7; // error: not integral }; 以下推理: 那么为什么这些不便的限制存在? 一个类通常在头文件中声明,而头文件通常包含在许多翻译单元中。 但是,为了避免复杂的链接器规则,C ++要求每个对象都有唯一的定义。 如果C ++允许将需要作为对象存储在内存中的实体的类定义中断,那么该规则将被破坏。 但是,C ++ 11放宽了这些限制,允许非静态成员的类内初始化(§12.6.2/ 8): 在非委托构造函数中,如果给定的非静态数据成员或基类不是由mem-initializer-id指定的(包括由于构造函数没有ctor初始值设定项而没有mem-initializer-list的情况)而实体不是抽象类(10.4)的虚拟基类 如果实体是一个非静态数据成员,它具有一个括号或等于初始值设定项 ,则该实体按照8.5中的规定进行初始化; 否则,如果实体是变体成员(9.5),则不执行初始化; 否则,实体将被默认初始化(8.5)。 […]