TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
Rust Part7
【関数】Erlang Part 2【エリクソン】
C++相談室 part150
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
△△もっとStruts2の良さを教えてくださいSsssion6
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part19
次世代言語10[Rust Swift TypeScript Dart]
ほぼ初心者プログラマでするべき事がわからない
35歳、発達障害のB型作業所通いですが 6
テストを書いてからリファクタリングなんてのは幻想

【初心者歓迎】C/C++室 Ver.105【環境依存OK】


1 :2019/04/25 〜 最終レス :2020/06/14
エスケープシーケンスやWin32APIなどの環境依存なものもOK
そのような質問は必ず環境を書きましょう
半角空白やタブでのインデントはスレに貼ると無くなります

コードを貼れる所
http://codepad.org/
https://ideone.com/

前スレ
【初心者歓迎】C/C++室 Ver.104【環境依存OK】
https://mevius.2ch.sc/test/read.cgi/tech/1545944692/

2 :
チンポ体操

チンポを手に持ち しごく運動から
1 2 シコシコ
2 2 シコシコ

チンポを振り回す運動
1 2 ブルンブルン
2 2 ブルンブルン

3 :
Cを2年間やって最近大学の講義でC++をやりはじめたのですが
C++だけでなくCの勉強も継続したほうがいいのでしょうか?

4 :
>>3
C89=K&R2 をマスターできたら、C99 など目もくれずC++に進むのがいいでしょう、私はそうしましたし C99 なんかどうでもいいと思っています

5 :
>>4
レスありがとうございます
競技プログラミングで言うと、C言語はatcoderでA問題とB問題はすぐに書くことが出来てC問題は解けたり解けなかったりというレベルです。構造体とポインタも基本的(C言語ポインタ完全制覇という書籍にあるような難しいことは知りませんが…)な扱いならばできます。
就職のことも視野に入れて考えたいのですが、C++が出来るならばCの知識が問われる機会というのは少ないのでしょうか?

6 :
>>5
就職の話はよくわかりません
ただ、C89=K&R2 → C99 の改定内容は、C89 の時代に試みられていた拡大解釈を規格に取り込んだ、という部類が多いと私は思いました
それに C99 は、「C++ を見た後で決めたんかい?」という謎な部分が多くいけ好かないのも事実です、あんなものは知らないほうがいい部類でしょう
それよりも日々進化し続ける C++ をフォローするほうが、いろいろな面でお得です、私も p-thread 系マルチコアなプログラムを記述するために C++11 or lator に進み、とても満足しています

7 :
>>5
C++のクラスとかテンプレートとかSTLとかをとりあえず無視して
Cと共通してる基礎的なとこから学べば、わざわざCを個別に学ぶ必要はないとおも

仕事の場合は純粋にCだけ長年使ってるような特殊な職場でなければ問題ない

8 :
お二人方ありがとうございます
CからC++の勉強に専念する決心が半分くらいつきました
Cのscanf()の仕様(バッファオーバーフローやバッファオーバーランの危険性を回避するいくつかの方法について等)、まだはっきりと把握していないのですが、それでも、C++の勉強に専念してしまっても問題ありませんでしょうか?

9 :
バッファオーバーランって、この辺の話?
https://ja.wikipedia.org/wiki/Scanf#%E3%83%90%E3%83%83%E3%83%95%E3%82%A1%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%A9%E3%83%B3

10 :
C問題は使う言語の問題じゃないな
もちろんc++やJavaの方がC言語よりもスムーズに書けるがC問題はアルゴリズムを知らないと出来ない

それと現代ではC言語のscanfに習熟する意味は無い
それは後回しにした方がいい

11 :
>>3
C を続ける必要性がゼロなら C++ に専念した方が良いかと
必要性は個々人による
大学の同級生なり、研究室等の先輩なりに相談・確認するのも良いかも知れない

12 :
_s 系関数でも未定義な挙動を示すコードはいくらでも書けるのでキリがないんじゃね

詳細な資料はあるけれども、入門者が読むもんじゃなし
fgets + sscanf で安全になるわけでもなし

13 :
>>8
まあ他の人の意見も聴いておいたほうがいいでしょうね
個人的には何をやっても C で書けると「思える」感触ができるまで C で書きまくる経験は有用だろうと思います、時間はかかりますけれども何でも自分で実装する、という縛りを課してみる

データ構造(線形リスト、スタックやキュー、二分木やバランス木・K-dimensionなどのデータ構造)
アルゴリズム(ヒープ/クィック/シェル各種ソート、縦横探索やダイクストラ法と枝刈り・バックトラッキング、ナップサック、シンプレックス法、シャノンファノやハフマン)

いやもう、C なら何をやってもいい経験になりますね…

14 :
いまどきの環境だと下部に丸投げか

15 :
関数の引数の書き方について質問があります。
任意のオブジェクトを複数参照する関数f(A& a, B& b, ......)
において、引数の a,b,...を左辺値と右辺値の任意の組み合わせで
使用する場合、関数定義をf(const A& ac, const B& bc, ......){
A &a=const_cast<A&>(ac);
B &b=const_cast<B&>(bc);
:
}
とする方法がベストでしょうか?

16 :
だめ

17 :
15です。
追記します。

開発系のIDEでオブジェクトのメンバー変数を表示させながら
プログラム作成をしたいので、テンプレート関数化による
ユニバーサル参照の記述は使いたくありません。

18 :
>>15
控えめに言ってクソ。 本当に const なオブジェクトが渡されたときにエラーにならない。
const なオブジェクトに const でない操作をするのは未定義だぞ。
(const ではないオブジェクトなら途中で const を経由しても書き換えて良いらしい。)

言語の作法の範囲内でなら IDE に対する配慮は工夫として評価されるかもしれないけど、
型システムによる保護を台無しにしてまでやるのはオススメできない。

少なくともこのスレでそういう工夫を是とする人はあんまりいないと思うぞ。

19 :
Arduinoなんだけど多分C一般の話だと思うんでここで

byte counter = 0;
while (true) {
  if (Shori(counter)) { break; } // Shoriの結果によってwhileから脱出
  if (counter < 4) { counter++; }
  else { counter = 0; }
}

または
for (byte counter = 0; counter <= 4; counter++) {
  if (Shori(counter)) { break; } // Shoriの結果によってforから脱出
  if (counter == 4) { counter = 255; }
}

または
for (byte counter = 0; true; counter++) {
  if (Shori(counter % 5)) { break; } // Shoriの結果によってforから脱出
  // これだとcounterが255から0になるときcounter % 5が2回連続して0になるため
  // 0〜5を繰り返し引数にしてShoriしていることにならない
}

または
while (true) {
  for (byte counter = 0; counter <= 4; counter++) {
    if (Shori(counter)) { goto dasshutu; } // Shoriの結果によってforとwhileから脱出
  }
}
dasshutu:

みたいに一定の範囲を繰り返すカウンタを持つ無限ループってどう書くのがシンプルで一般的なんだろう?
無限ループとはいっても256回も回らずに終わる見込みだから3つ目の書き方でいい(仮にそれを越えても処理内容的に致命的な問題はない)とか、念のためwordにしとけば65536回まではいけるとか考えてもいいのかな

20 :
for (byte counter = 0; ; counter = (counter + 1) % 5) {
 if (Shori(counter)) { break; }
}
とか?

21 :
おおそんな書き方が。ありがたい。
しかも脱出に関して言えば、forの中でifで判定してbreakするのではなく
forの条件式に書いてしまうこともできるな…

22 :
オブジェクト指向でなぜつくるのか
って書籍が今Kindleセールで半額だけど良さそうだな
読んだことある人どんな感想ですか?

23 :
>>22
じゃんけんゲームを2人(自分対PC)用から(PCを)何人でも増やせる設計に変える例で
構造化プログラミングだとちょっと書き換え多そう。。。オブジェクト指向プログラミングなら〜って感じ。
(そこしか覚えてないとも言う)

第2版は最終章でオブジェクト指向プログラミングの次世代は関数型プログラミングだとか言ってHaskellの紹介が追加された。

24 :
皆さんが一番勉強になった本を教えてほしいです。
これならわかるC++と、C言語ポインタ完全制覇は持ってるので、基本的なことはわかります。
これ読んで実力がバズった!というのがあればぜひとも。

25 :
>>24
C++ ならハーバート・シルトの独習C++ ですね
その真ん中くらいにある「std::string を自分で実装する」というお題が非常によく、OO の教科書でそういうお題を配置しているのも本質を明示している意味でよく、この本より優れている初級C++教科書がみあたりません

26 :
C言語を256倍使うための本
ttps://www.amazon.co.jp/dp/4756100430

27 :
>>25-26
ありがとうございます。参考にします。

28 :
>>24
私が学んだのは「詳説 C++ 第2版」だな。
https://www.amazon.co.jp/dp/479732743X
この本の内容は C++03 の時代のものなので C++11 以降のトピックはウェブで学んだ。

Twitter で C++ に強い人が独習C++の間違いを強く批判しているのを見ることがちょいちょいあるので、
自分では読んだことが無いけど独習C++には良い印象がない。
まあ不正確でもわかりやすいことは有りうるのでとりあえずおおざっぱな概略を把握する分には
どれでも割となんとかなる気がしている。

29 :
>>28
>独習C++の間違いを強く批判している

話を簡単にするために、一時的に紛らわしいことを言っている=どこを切っていも正しいというわけではない=文脈依存なところがある、という批判はアマゾンレビューにありましたね
しかし強く批判されるほどの欠点があるかどうかは、私にはよくわかりません

よろしければポインタをください

30 :
>>29
良い評価も悪い評価もあるので単純には言えないけど、批判している代表的な意見としてはこれかな。
https://twitter.com/yumetodo/status/1020966071702966273
ただ、全体として入門書として本当に妥当な本があまりないので、どれが比較的マシなのかというレベルの話だと思う。

私が読んだことがない中で評判を評価するとたぶん江添氏の出している本が (少なくとも日本語の本の中では)
だいぶん良さそうでは有る。
速度のある分野では、単純に古いものはそれだけで価値が低いので、
逆に言えば最新に追い付こうとしているものは高く評価できる。
(deleted an unsolicited ad)

31 :
俺「競プロ飽きたしC++の勉強でもするか」
isocpp.org「まずはTourofC++で概要をつかむといいよ〜」
ビャーネ「Tourはプログラミングに習熟した人を想定している」
俺「短くて面白いけど難しいな。プログラミング初心者向けのはないかな?」
isocpp「じゃあこれ つ原則と実践(1248ページ)」
俺「ファッ!?」
isocpp「あと勉強するときは少なくとも3冊持っといたほうがいいよ〜」
俺「ウーン…」

32 :
>>30
毒臭を有害ゴミと判断した理由が知りたいですね…

個人的には、C++ の中の Java に似た部分を抽出して、初心者(最近は C++ に直接参入する人が多いとか…なんか時代を感じます)にやさしい、できれば分厚くない本がいいなあ
以前は accelerated C++ を薦めたりしたのですが、最近 accelerated c++ の決定的に駄目なところを見つけてしまったので、もう私が薦める本は独習しかないのでした

33 :
>>32
有害ゴミなどど、相手が使ってない言葉に勝手に置き換えて、さも相手が感情的で非論理的な

34 :
途中だった。

有害ゴミなどど、相手が使ってない言葉に勝手に置き換えて、さも相手が感情的で非論理的な発言をしてきたかのような印象操作は卑怯だとは思わないか?

35 :
>>33
https://twitter.com/yumetodo/status/1020966071702966273
>言うまでもなく独習C++は時代遅れの化石で有害ゴミ行き。
使っていますが…
(deleted an unsolicited ad)

36 :
>>34
https://twitter.com/yumetodo/status/1020966071702966273
>言うまでもなく独習C++は時代遅れの化石で有害ゴミ行き。

印象操作などではありえず、ずばり「有害ゴミ」指定されちゃってますが…
(deleted an unsolicited ad)

37 :
>>36
twitterの方は見てなかった。失礼した。

38 :
プログラミングの最初の一歩すらわからない状態から始めるのか
Pythonやjsやphpなんかである程度書ける状態から始めるのかで話が変わると思う
後者ならググりながら適当になんか書いてみればいいと思う

39 :
>>38
>ググりながら適当になんか書いてみれば
それは C/C++ に関していえば、ちょっと危険な気が… 逆に Python や ruby をやるのなら、それでもいいと思いますが…

40 :
>>39
それに強く同意。
C++ には未定義の挙動が多すぎるので、
表層的な理解で使うのは大変に危険である。

41 :
C++に関してググって出てくる情報って適当なの多いよなw
Qなんとかとか特にw

42 :
どうも最近は最新のC++の機能を使うべきだとしつつ
自分なりにとりあえず適当に書くのは危険とか言う意見が多いけど
人間もあくまで動物なので手を動かして書かなきゃ覚えないしCの時代から続く古臭い書き方は長年の積み重ねでセオリー確立してんだから
そういう学習方法を否定するのは違うと思うよ

クラス、ひいては最新の機能を正しく使う、なんて初心者がいきなり目指すようなことじゃない

43 :
>>42
手を動かして覚えることは誰も否定していないし、むしろそれは強く推奨したい。ただ、C/C++の場合は表面的な理解だけで動いたから良しとして進むのは危険で、基本的な部分は正しく理解しておくことは必要だと思う。
ある程度の基礎がある状態なら、新しい機能やライブラリの関数もググって得られる情報から正しい仕様を理解して習得できるが、基礎ができていない状態でそれは難しい。
初心者がとりあえず適当に切り貼りして動かそうというやり方をするなら、他の言語から入った方がいいと思う。ググって調べた断片的な情報だけでなく入門書等で基礎を押さえつつ、実際に書いて愚直に挙動を確認しながら理解をしていくのが良いと思う。

44 :
>>42
>人間もあくまで動物なので手を動かして書かなきゃ覚えないし
プログラミングは特に、自分で書いて書いて書きまくって読んでというところは同意
となれば、ちょっと書く気になろうという心の動きを、分厚い教科書で潰したくない、という趣旨は理解
さて、困ったものです、そういうときに使える教科書があればいいのですが、C/C++ の教科書って高くて分厚いですからね…私もメイヤーズはまだ積読だし、いつ読む気になるかな?

45 :
300ページ未満の入門書…

46 :
まぁ確かにサンプルコードの切り貼りとかは危ないだろうしネットの情報だけってのはね
でも独習みたいな古臭い(03以前)入門書なんて初心者にうってつけだと思うんだけど

・・・って、twitterでこき下ろしてる奴のアカウント名に見覚えあるわw
そいつ勘違いの激しい学生ちゃんだから言ってること真に受けない方がいい

47 :
isocppで推薦されてる原則と実践の前の版がたまたま
近くの図書館にあったから読んでみたけど、意外と面白いな。

48 :
>>46 見つけられなかったので比較的に新しいやつの中から探して一例として出したけど、
そやつひとりだけが言ってるわけじゃないよ。 良いと評価している人も当然いるんだけど、
あくまで私の観測範囲で私が総合的に感じた漠然敵な印象の話なんで。

49 :
今の時点でそれなりに C/C++ をわかるようになっている人の思う「良い本」というのは
「昔に学んだ」という体験だからさ、今から学ぶという人の事情とはやっぱり時代が違うと思う。
自分が読んだ本を言えても、それを強く勧めるほどの自信はないな。

例えば私が最初に買った C++ 本は ARM なんで、これにはいわゆる STL さえ載ってないんだけど、
当時としては妥当な選択肢だったし、十分にわかりやすかった。
でももちろん、今の時代に ARM を勧めるなんて馬鹿馬鹿しくてあり得ないでしょ。

昔の C++ を身に着けてから徐々に知識を更新してきていると昔の C++ と今の C++ が
滑らかに繋がっているように錯覚してしまうけど、昔の C++ を学んでから今の C++ というのは
結構な飛躍があると思うんだよ。
今から学ぶなら C++11 程度は想定している本の方がいいんじゃないかな、と個人的には思う。

50 :
>>49
> C++11 程度は想定している本の方がいいんじゃないかな

しかし、C++03 までのからくりをしらずして、C++11 のあれこれを理解できるかな?とも思うのです、ranged for の for(auto &item; vec) の & の意味とか…これはあんがい簡単にクリアできるのやもしれませんけど

51 :
テンプレート特殊化を前方宣言したいんだけど、
コンパイルエラーが出て詰んでるんですけど、
どうやればいいですか?
例えば以下のようなことがしたいんですが。

template<class T>
struct A {};

template<>
struct A<int>;

template<>
struct A<float> {
A<int> f() { //エラー : 認識できない型A<int>が使われいます。
return A<int>{};
}
};

template<>
struct A<int> {
int value;
};

52 :
A<float>::fを定義するにはA<int>の定義(classのサイズ)が必要
fの定義をA<int>のあとにすればできる
https://ideone.com/Vv0Psu

53 :
>>52
おお!マジで出来たw
ありがとう

54 :
入門書の入力された文字列が同じかどうかを判断するコードなのですが
https://ideone.com/vaASOS
14行目のif(str1[i]!=str2[i])break;がどういう意味なのかさっぱり理解できません
文字コードが同じじゃなければbreakッて意味ですか?
len+1してるのも意味がわからないです・・・
説明よろしくお願い致しますm(_ _)m

55 :
文字コードが同じじゃなければbreakということでいいんじゃない?
len+1しているのはヌル文字があるから

56 :
まず配列について勉強だね
デバッガのステップ実行で追っていくといいよ

57 :
プログラム板の精神病コテ 松本卓朗 さん殺害予告!
https://mevius.2ch.sc/test/read.cgi/tech/1560808598/

58 :
文字列が同じ = 1文字1文字全部同じ = 1文字でも違えば違う
strlenは文字数を返すけど最後の\0を含まない
最後の\0まで比較しないと入力した文字列と先頭部分が一致したら一致してしまうのでlen+1

59 :
文字列長の短いほうを len としないと突破したところを参照してまうぞ

str1 = asd\0
str2 = asdf\0
で str2 の len+1 まで str1 を参照すると嘔吐

60 :
まぁ 文字列長がちがったら いきなり不一致って脱出してもいいんだけどね

61 :
https://ideone.com/JUWWBr
分かり易くなったゾ

変数を減らせばラク
lenで判定してるイマイチな書き方を排除すればもっとラク
要するに分かりにくく書いてるから分かりにくいだけだよ

62 :
元々は入門書に書かれてたコードか
むむむ

63 :
ループを再帰に直せば終了条件がもっと分かり易くなるゾ
再帰にして時系列の1段階ずつ見せればその1段階ごとにどういう判断してるか分かり易いでしょ

bool scr(char* p, char* q){//string compare recursive
if( *p == '\0' || *q == '\0' ){
if( *p == *q ){
return true;
}
return false;
}
if( *p != *q ){
return false;
}
return scr(p+1, q+1);
}

元のヤツは文字コードと文字列の長さがこんがらがってぐちゃぐちゃになってるから分かりにくいんだなコレ
同じ文字列かどうかを、「文字コードが同じか」と「文字列の長さはどうか」、この二つで判断してるでしょ
判定するのに全く別の二つのものを取り扱ってるから分かりにくいんだよ

forのカウンタのiの取り扱いも分かりにくい
文字列長さの境界の+1の有無も分かりにくい

文字コードが同じじゃなければbreakしてlenで判定、すんごく分かりにくいでしょ
何せ「文字コードが同じじゃなければbreak」、その通りなんだけど「意味が理解できない」と来てる、意味が分かってるのに「分からん」と言ってるワケだ
結局はbreakしてるはiのカウントを止めるためと、lenと比較するためにforのスコープ超えた場所でiの値を参照するため

これ入門書の前段階までにfor文の外側でiの値を参照してる例がないと詰まる箇所だよ
for文の外側でiの値を使う、この意味が分からんと「文字コードが同じじゃなければbreak」まで分かってても全体が分からないようになってる

64 :
ポインタを知らないであろう初学者にポインタ演算を使って分かりやすいとする鬼畜の所業

65 :
>>57~63回答ありがとうございます
説明下手でスイマセン。このコードが書いてある前のページに文字列の比較は出来ないため
str1==str2と書いて判定は出来ないと書いてあったのに
14行目でstr1[i]!=str2[2]で判定してるのがよくわからないです
strlenは\0返さないのですね。そこはスッキリしました。ありがとうございます

66 :
>>65
str1==str2はポインタ(それぞれの文字列が格納されている先頭アドレスの値)を比較してるだけ。
str1[i]!=str2[i]は、str1とstr2のi番目の文字を比較している。

67 :
>>66
文字列の中身を比較してるんじゃなくて先頭のアドレスを比較していて
str1[i]!=str2[i]は文字列の中身を比較してるってことなんですね
もやもやが解けました。ありがとうざいます

68 :
>>59
馬鹿なの?

69 :
きゃー はずかしい><

70 :
int a = b - 1;
if (a < 0){
 a = 0;
}

これのスマートな書き方を教えてください。

71 :
ここで聞いていいのかわからないけど
組み込み系で上位割り込みでライト、下位割り込みでリードする場合割り込み禁止する必要ありますか?

72 :
>>70
それ以上にスマートな書き方なんてない
素直が一番

>>72
atomicにアクセスできないなら必要
readの途中でwriteが発生したらダメだし、
writeの途中でreadが発生してもダメなんだから、上位/下位は関係無い

73 :
>>70
bの型が不明な場合はスマートな書き方は特に無い

74 :
>>70
int a = b < 1 ? 0 : b - 1;

75 :
>>72
何故ダメなのかが理解できてません。
書き忘れてましたが割り込みはタイマで周期的に発生させてます。
リード中にライトが発生しても下位割り込みは一周期遅れて上位割り込みのライト結果をリードするだけではないのですか?

76 :
>>75
writeの割り込みが発生するまではreadは進行するんじゃないの?
だから「readの途中で」なんだけど
「2つの割り込みは完全制御下にあり、read中にwriteは発生しない」なら大丈夫だよ、当然

77 :
>>75
>リード中にライトが発生しても下位割り込みは一周期遅れて
ここがちょっと勘違いを感じる
割り込み処理が終わったら、割り込まれた処理の続きをするのよ
低レベルにDBのrollbackみたいな複雑な仕組みはないのよ

78 :
char型の動作がどうもわからない。
例えば 
char str[] = "abc"; として
cout << &str[0]; ----> abc
になるのはなんで? index 0番だから a がでると思ったんだけど...
初心者ですまん

79 :
>>78
&str[0]に付いてる&はアドレスを取得する演算子だから、strの最初の文字「a」のアドレスを取得するという意味になり、
結果的には cout << str; と同じことになる。

80 :
>>78
cout << &str[0] << '\n';
cout << str[0] << '\n';
この2行でソースと実行結果を見比べれば腑に落ちるんじゃないかな。

81 :
>>76
>>77
下位割り込みのリードが一命令で完了するなら「リードの途中でライト」が発生しないので割り込み禁止しなくていいということですか?
例えばリードライトの対象が配列なら割り込み禁止要、変数単体なら不要

82 :
>>81
アセンブラ確認してほんとに一命令なら良いけどそうじゃないなら結局危険じゃない?
Cで1行だからアセンブラでも一命令とはかぎらんよ

83 :
ちなみに上位下位って割り込みの優先度のこと?

84 :
たとえ1命令でも安全かどうかはcpuによる
あいまいな質問にはあいまいな回答しか返らない
マニュアル読むのが正解

85 :
>>82
なるほど。極端な例ですがcでword変数への代入処理一行だったとしてもアセンブラでは上位バイト、下位バイトを分けて代入してるかもしれませんもんね。

>>83
そうです。

>>84
アセンブラで一命令でもまずい場合ありますか?例えでもよいのでご教授頂けたら助かります。

86 :
vector<std::vector<char> > vec;
の二次元配列で、一行を削除するのはどうしたらよいのでしょうか。

int row = 1;
vec.erase(vec.begin() + row );
ではだめなんでしょうか。

87 :
すみません。これでちゃんと動きました。
お騒がせしました。

88 :
>>70
int  a = max(b - 1, 0);
というような書き方を見たことが有る。

89 :
>>85
だから一般論で答えられないって言ってんの
使ってるcpuのマニュアル読め
書いてあるから

90 :
>>79
>>80
回答ありがとう。
そもそもaddress-of演算子でIndex 0番を指定してるのに アドレス値じゃなくて 文字が出てくることが混乱の元だった。

char型については>> 演算子がオーバーロードされててc-stringとして解釈される。
実際のアドレスを出力したい時は
cout << (void *)&str[1]; とする
って感じでいいのかな?

91 :
学校の課題でバブルソートアルゴリズムを使った画像処理の課題で、VSの警告にfor-loopの定義が無効です:最初の条件はテストを満たしていません。ループボディは実行されませんと出てきます。これはどういった原因で出てくる警告なのか教えほしいです

92 :
ループの初期状態でループ終了条件を満たしている

93 :
単純化すればこういうこと
for (int i = 0; i < 0; i++)

94 :
てst

95 :
最近BS/CSが映らなくなった人はここを見ると良い
【B-CAS改造】Bカスカード2038化書き換えツール配布所 205
https://mevius.2ch.sc/test/read.cgi/avi/1560914909/1-100

96 :
FILE* file;
file=fopen("test.txt","w");
fclose(file);

これでソリューションのフォルダ内にtest.txtファイルが作られると読んでる入門書には書いてあるのですが
VisualStudioのフォルダ内、何処を探しても生成されてません;何処に有るのでしょうか?

97 :
ドキュメントにプロジェクトを作らなかったか?
その中かと

98 :
>>96
「ソリューションのフォルダ内」であって「VisualStudioのフォルダ内」じゃないぞ

99 :
>>96
取りあえずコマンドプロンプト開いて
dir /s /b ¥test.txt
ってやってみ

100 :
STLコンテナ「set」の特定要素を削除したいとき

set<int> s = {1,2,3};
for (auto itr = s.begin(); itr != s.end(); ++itr) {
cout << *itr << endl;
if (*itr == 2) s.erase(itr);
}

これの実行結果が
1
2
1
3
となるのですが、erase後に最初に戻っているように見えるのは偶然、つまり不定の動作ですか?
なお、正しいイタレータの使い方は以下のようになるのは承知してます

for (auto itr = s.begin(); itr != s.end(); ) {
cout << *itr << endl;
if (*itr == 2) itr = s.erase(itr);
else ++itr;
}


100〜のスレッドの続きを読む
くだすれPython(超初心者用) その45【Ruby禁止】
七行プログラミング part6
■特許庁新システムを作る■
古代VBプログラマ質問スレ(Ver.6.0 まで) part65
すべての言語を判定する計算機構
Excel VBA 質問スレ Part61
【JavaScript系】 NILScript 【AutoHotkey風】
Pythonのお勉強 Part63
Excel Python 質問スレ
ねえ、これ僕間違ってる?
--------------------
何物かが俺を見ている。
NEC無線LANルータ Atermシリーズ Part131(本スレ)
【続×136】LOUDNESS【2018秋】
【まいん】福原遥応援スレ避難所1【すイエんサー】
カッペ(かっぺ)はNGワード
DS-Lite(Dual-Stack Lite)関連 1回線目
祝】令和の序列★早慶>G−SMART>成成明國法中=関関同立>日東駒専=産近甲龍>大東亜帝国>摂神追桃
非常に言いにくいんだけどさ、シャープのマスクってもういらないよね?一向に当たんねーし
北関東(茨城・栃木・群馬・埼玉)の選挙事情 7
B'z LIVE チケット情報 22枚目
【まどか☆マギカ】美樹さやかアンチスレ33
【新型肺炎】バスや救急車、羽田に集結
徐々同人のいつもの人絡みスレ4
【49日】ソ・ヒョンギョン脚本のドラマ【いとしのソヨン】
ゆるキャラファンのマナーについて語るスレ
【黒塗りの高級車】「世界で最も黒い黒」ウソのように真っ黒なBMWがデビュー、すごすぎる黒すごすぎる 2019/08/30
【遺跡】“日本人の起源に迫る” 弥生人の骨をDNA分析へ “地下の弥生博物館”と呼ばれる遺跡 詳しい年代も明らかに?
ゲームにキレた時の行動
MiniDVはSD画質最強という事実
【国内】新日本海フェリー52隻目【最大手】
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼