タグ付けされた質問 「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 ++構造体の初期化
「ポッド」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 */ FooBar …


10
C配列の初期化「int arr [] = {e1、e2、e3、…}」の動作をstd :: arrayでエミュレートする方法は?
(注:この質問は、要素の数を指定する必要はなく、ネストされた型を直接初期化できるようにする必要があります。) この質問では、のようなC配列の残りの使用について説明しint arr[20];ます で彼の答え、@James観世ショー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 std::decay<T>::type> …

11
Linux / OS Xでmongodサービスを開始する正しい方法は何ですか?
私はmongodbをインストールし、それを実行し、操作し、単純なDB読み取り/書き込みタイプのことを行うことができました。現在、mongodをサービスとして実行するようにMacをセットアップしようとしています。 「コマンドが見つかりません」というメッセージが表示されます。 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てコマンドラインの最後に追加するだけですか? Linuxサーバーで同じことを行うことを目的として、Macで開発環境を構築しています。Bashコマンドについてはよくわかりません。答えを引き上げようとする他のすべての検索では、Windowsマシンに関するアドバイスが得られます。 多分誰かがコマンドのLinuxバージョンを知っていますか? どうもありがとう

4
C ++ゼロ初期化-このプログラムの「b」が初期化されていないのに「a」が初期化されるのはなぜですか?
このスタックオーバーフローの質問に対する受け入れられた(そして唯一の)回答によると、 コンストラクタを定義する 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タイプの場合、デフォルトの初期化はゼロ初期化です。 そして、この質問に対する受け入れられた答えによれば、 PODメンバーがコンストラクターでもC …

6
Javaで長さ0の文字列配列を初期化するにはどうすればよいですか?
メソッドのJavaドキュメントでは、 String[] java.io.File.list(FilenameFilter filter) これが返品の説明に含まれています。 ディレクトリが空の場合、またはフィルタが名前を受け入れなかった場合、配列は空になります。 同様のことを行い、文字列配列(またはそのほかの配列)を長さ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") } }

6
C#で配列のようにリストを初期化できるのはなぜですか?
今日、私はC#で次のことができることに驚きました。 List<int> a = new List<int> { 1, 2, 3 }; なぜこれができるのですか?どのコンストラクタが呼び出されますか?自分のクラスでこれを行うにはどうすればよいですか?これは配列を初期化する方法ですが、配列は言語項目であり、リストは単純なオブジェクトです...
131 c#  .net  list  initialization 

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 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.