質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

1598閲覧

C++でループの最初だけグローバル変数に値を代入したいです

KOTTON

総合スコア47

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2020/10/18 11:14

質問

while等のループの中で最初の一回のみ変数の初期化をしたい場合

cpp

1while(true) 2{ 3 static int i = 9; 4}

みたいな感じに書くと思うんですが、グローバル変数に最初の一回だけ値を代入したい場合ってスマートに書くにはどうしたらいいですか?
やはり以下のようにフラグを使うしかないですかね?

cpp

1int g_val = 0; //グローバル変数 2 3bool init = false; 4while(true) 5{ 6 if (!init) 7 { 8 g_val = 10; 9 init = true; 10 } 11 12}

これしかないなら全然構わないんですが、僕が知らないだけでいい解決法があるのかが気になります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

それしかないと思います。
が、わざわざループの中で入れずとも、ループに入る前に初期化する、というのでいいかとおもいますが。

投稿2020/10/18 11:20

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KOTTON

2020/10/18 11:30

あれ、確かに普通に外で初期化したらいいですね....ww 視野が狭くなってました...やっぱり聞いてよかったです
KOTTON

2020/10/18 11:30

ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問