在下面的代碼中,我似乎沒有理解大括號初始化的限制。他們究竟做了什麼?看起來在A的情況下,它只是直接設置[0]等於該值。在b的情況下,它使用隱式轉換。它是根據可用的內容決定選擇哪一個,還是使用其他方法?使用C++和Java進行卷曲括號初始化
#include <iostream>
using namespace std;
struct A
{
};
struct B
{
B(int a) { cout << a; }
};
int main()
{
A* a[] = {new A()};
B b[] = {1};
}
此類型的大括號初始化在Java中的工作方式也是類似嗎?
public class A
{
public static void main(String[] args)
{
someClass[] sC = { /* what can go here? an argument to the constructor,
or just a value to set the variable equal to */ }.
}
}
很抱歉,如果我的問題似乎是愚蠢的,只是真的想知道更多關於C++的大括號和Java。在此先感謝:-)
數組初始化列表? ,更多信息:http://publib.boulder.ibm.com/infocenter/comphelp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8a.doc%2Flanguage%2Fref%2Faryin.htm –