1 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 17:56:53.03 ID:uFDqtnkl.net] C++に関する質問やら話題やらはこちらへどうぞ。 ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。 前スレ C++相談室 part146 https://mevius.5ch.net/test/read.cgi/tech/1573094136/ このスレもよろしくね。 【初心者歓迎】C/C++室 Ver.105【環境依存OK】 mevius.5ch.net/test/read.cgi/tech/1556142878/ ■長いソースを貼るときはここへ。■ codepad.org/ https://ideone.com/ [C++ FAQ] https://isocpp.org/wiki/faq/ www.bohyoh.com/CandCPP/FAQ/ (日本語) STLつかうと一気に実行ファイルサイズが10倍に?! 環境によるだろ。 俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力 ランタイムを使用するようにして使っているが、例えばstd::vectorを 使っても使わない時と比べ10Kほどしか増えない すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。 ↑え?だってお前、普通ダイナミックリンクするだろ? "ダイナミックリンク"す・れ・ば、ファイルサイズ**増えないです**
74 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 15:20:11.91 ID:R5R0tFog.net] c++ natureを極めるためにはc++公案で鍛えるしかない
75 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 19:48:57.63 ID:8w0fwfLC.net] 主要コンパイラはすべてサポートしているにも関わらずいまだに#pragma onceを使わない人が少なくないのはなぜ?
76 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 20:16:53.24 ID:CXPtawUE.net] onceはclang-clにしたら文句言われた。
77 名前: mailto:sage [2019/12/28(土) 20:21:50.83 ID:9Pig40yt.net] >>74 #if defined() / #ifdef で十分ですから #progma once が規格に取り込まれでもしないかぎり状況はかわらないでしょうね #progma once の優位性はなんでしょうか
78 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 20:24:49.66 ID:8w0fwfLC.net] 一行で済む 万が一のdefineの衝突が起こらない
79 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 20:34:45.01 ID:izuDiHMA.net] 今はgccでもつかえるんだっけか
80 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 20:40:53.71 ID:8w0fwfLC.net] 3.4.xのどこかで対応してるからもう10年以上前の話
81 名前:デフォルトの名無しさん [2019/12/28(土) 21:01:17.79 ID:pepWReU2.net] VSについてくるclang-clはpragma once普通に使えてる。
82 名前:デフォルトの名無しさん [2019/12/28(土) 21:03:08.62 ID:pepWReU2.net] いまcl、clang-cl、gccでチェックしてるけど、pragma onceは使えてる。
83 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 21:15:39.80 ID:oW0/scDi.net] #pragma once と書いておけばperlで#if defined() / #ifdefに直せる
84 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 21:32:47.05 ID:jUBDgrWb.net] 標準化してくれれば良いのに pragmaで出来ることの範疇越えている気はするけど
85 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 21:48:20.70 ID:isXVaWAp.net] 他のもろもろと合わせてモジュールに移行することで済ませるつもりなんでしょ。
86 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 01:41:15.83 ID:BmrLXJpy.net] そういやまだモジュールサポートしてるコンパイラないな
87 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 01:54:26.89 ID:KMgGrgwo.net] exportみたいになりませんように
88 名前:デフォルトの名無しさん [2019/12/29(日) 04:54:11 ID:Q9hr3WtC.net] C#だとis演算子を利用してキャスト可能か判定していますが、 C++でdynamic_castでキャスト可能かってどう判断すればよいのでしょうか? 後、static_castできるかどうかの判定はどうすればよいのでしょうか?
89 名前:デフォルトの名無しさん [2019/12/29(日) 05:54:33.33 ID:Jtzyjysr.net] https://ideone.com/wtGGM7
90 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 08:13:14.15 ID:IGe5Ocj7.net] dynamic_castがnullptrを返すかどうかで判断 if (auto dp = dynamic_cast<Derived*>(bp)) { (dpを使った処理) }
91 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 08:30:34.84 ID:e4b1FoNz.net] >>87 static_castは静的に決まるから、コンパイルエラーにならなければできるということだぞ。 それが意図した通りの変換になるかは規格を正しく理解すればいい。
92 名前:デフォルトの名無しさん [2019/12/29(日) 10:22:08.63 ID:3P5H5aUL.net] テトリスでプログラミングの基礎は身につくますか?
93 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 10:25:16.33 ID:BmrLXJpy.net] いいえ
94 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 10:27:06.48 ID:OzwmxFfF.net] >>91 まずは日本語の基礎を身に付けてください。 それと、最近python関連のスレでテトリスの質問をしまくっていたキッズなら、テトリスはあきらめて愚直に入門書から始めてください。
95 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 10:43:20.20 ID:iKwMwrMu.net] >91 知恵袋で見た質問だな https://detail.chi
96 名前:ebukuro.yahoo.co.jp/qa/question_detail/q12217899992 [] [ここ壊れてます]
97 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 11:38:43.95 ID:G7raGgQx.net] 江添の最近出した本、このスレ的にはどういう評価なの?
98 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 13:32:59.69 ID:KIjz0jVz.net] 江添亮のC++入門、2019/9 こんな本を出していたのかw 関係ないけど、漏れは、下の本を読んでる。 短くまとめられていて良い [改訂第3版]C++ポケットリファレンス、高橋 晶 ほか、2018
99 名前: mailto:sage [2019/12/29(日) 14:20:03.86 ID:yqbBnK7b.net] >>96 >C++ポケットリファレンス、高橋 晶 たぶん最初に出たC++11和書ですね、すごく勇気がいったと思います、私も読ませてもらっています
100 名前:96 mailto:sage [2019/12/29(日) 14:38:45.96 ID:KIjz0jVz.net] 江添亮、επιστημη[エピステーメー]、高橋晶とか、 日本のC++標準化委員会のメンバーは、伝道師みたいな香具師が多い 本をよく書く
101 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 15:16:08.73 ID:mv3qVHGb.net] まあ、猫でもなんとかとか、スッキリわかるとか、柴田よりはましだろw
102 名前: mailto:sage [2019/12/29(日) 15:26:45.05 ID:yqbBnK7b.net] >>98 エピさん、監訳ポジなら問題ないんですけどエピさん単著だったら、ちょっと考えますね エピさんの本は出来の波が激しすぎるのです
103 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 15:40:38.44 ID:G5unUlDw.net] エピはサンプルコードの題材が全部タイマーのイメージ
104 名前:デフォルトの名無しさん mailto:sage [2019/12/30(月) 02:16:44.05 ID:uy9KH9fJ.net] >>98 その3人全員委員会のメンバーなの?江添だけだと思ってたが
105 名前:デフォルトの名無しさん mailto:sage [2019/12/30(月) 10:20:13.91 ID:iZxqjmO+.net] sizeof(void)がビルドが通らないorz void型を渡すときのテンプレートの特殊化ってどう書けば良いんじゃ…
106 名前:デフォルトの名無しさん mailto:sage [2019/12/30(月) 10:47:48.49 ID:obTerxTG.net] は?
107 名前:デフォルトの名無しさん mailto:sage [2019/12/30(月) 10:54:41.38 ID:fYgKDGaZ.net] サンプルコードプリーズ
108 名前:デフォルトの名無しさん mailto:sage [2019/12/30(月) 11:15:51.02 ID:g0RN7zwT.net] sizeof(void)がだめだからT=voidだけ特殊化したいということだろ? なにも特別なことはないと思うが。 https://ja.cppreference.com/w/cpp/language/template_specialization
109 名前:96 [2019/12/30(月) 23:04:11.87 ID:p3QJuMJ/.net] >>102 C++テンプレートテクニック―簡潔で再利用しやすいコードのためのC++活用術、2009 著者の紹介文に、こう書いてある επιστημη[エピステーメー] C++標準化委員会会員 高橋晶 1985年生まれ。2008年05月からC++標準化委員会にエキスパートとして参加 (本データは、この書籍が刊行された当時に掲載されていたものです)
110 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 04:04:35.24 ID:rzJRcJt/.net] まじかよ 正直ソフト開発してないライターがやたら参加してんのはどうかと思うけどなぁ
111 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 06:39:04.13 ID:K+WZPcbo.net] でもお前らの100倍詳しい
112 名前:デフォルトの名無しさん [2019/12/31(火) 07:04:20.12 ID:yGRo5VMJ.net] まぁ規格の解説とかはそういうのに関わってる人にしてもらうのが一番いいんじゃない?
113 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 07:29:37.36 ID:rzJRcJt/.net] まぁ解説とかはそうだし有難いんだけどね ちょっと日本のライター(に限らないのかもしれんけど)は自分でがっつり使い込んでもないテクニックを 「もしかしたら役に立たないかもしれない」との疑い全く無しに押し付けてることがあるしたまに宗教じみてるから そういう人ばかりだと今後が不安
114 名前:だなぁと それだけw [] [ここ壊れてます]
115 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 07:57:16.28 ID:K+WZPcbo.net] 運用するのはお前らの仕事
116 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 08:08:20.03 ID:8dhupYNq.net] 技術書籍は著者の思想に染まらなくても そこに書いてあるアイディアを欲しいとこだけつまみ食いが デフォな読み方だろ
117 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 09:13:17.18 ID:6pACnD9L.net] いや、どれもこれも役に立つよ てか新機能は大概実際に使っているやつらの発案で始まっているのだから当たり前 まあ、だからこそいろんな分野での要望がまぜこぜになって、ある分野では誰も興味を持たないみたいな言語機能も出てくるのだが
118 名前:111 mailto:sage [2019/12/31(火) 09:23:14.27 ID:1NlDtb3g.net] >>114 いや言語機能は大抵役に立つよそりゃ 役に立たないかも、ってのは彼らが主にブログとかで紹介してるようなテクニックのこと 完全型か不完全型かを判定するテクニック思いついたよ!(ODRに違反するので要件チェックでエラーにする為にしか使えないが、それは書いてない)とか C++/CLI風のプロパティをテンプレートで作ってみたよ使ってね!とかな 実際に開発してて使ってたらそんな都合よくはいかんやん?開発に使ってる人間とはちょっと感覚がズレてるんだよな
119 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 09:37:10.17 ID:qHnQy48w.net] >>115 それは開発やってる人間が考えたってある前提では上手くいくが別の前提では使えないということもあるし、巷に溢れてる初心者でも書ける記事よりは価値があると思うよ。 参考になるところだけ拾って自分の役に立つときに取り出せればいいんでない?
120 名前:111 mailto:sage [2019/12/31(火) 09:38:38.18 ID:wdGRUaME.net] まぁそれはそうやね なんだかんだ世話にはなってるし
121 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 10:34:54.28 ID:YPeginhU.net] std::vector<std::string> で、登録済みのstringのc_str()が変化しないことを保証する方法ってないかな? このままでも基本的にはムーブされることが期待できるけど、コピーが発生する可能性は否定できないよね?
122 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 11:23:41.27 ID:8dhupYNq.net] restrictがないからconst&から取得したc_strでも失効してることがあるよな
123 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 11:48:24.20 ID:qHnQy48w.net] >>118 そのvectorに対してiteratorが無効になる操作をしないこと、およびその要素stringに対してc_strが無効になる操作をしないこと、ではいけないの?
124 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 11:56:10.87 ID:6k+egH3+.net] vectorで書き換えられたくなければvector<string_view>にすれば
125 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 11:57:01.13 ID:8dhupYNq.net] コピーを作って、参照ではなく元々constなオブジェクトにするしかねえべ
126 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 12:01:50.45 ID:YPeginhU.net] ありがとう、そのままじゃ無理みたいだね。 std::vector<std::unique_ptr<std::string>>> にするわ。
127 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 12:19:07.09 ID:8dhupYNq.net] vcとgccでは通るんだけどclangだけ引っかかる const test obj; return static_cast<test const&&>(obj); //ok return move(obj); // warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move] copy elisionを後押ししちゃダメってこと?
128 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 12:57:47.44 ID:i0/j0IL1.net] そのまま読むと、「ムーブすると」コピー省略の妨げになるとしか書かれてない気がするけど
129 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 13:11:47.23 ID:6k+egH3+.net] 現代的なコンパイラならわざわざムーブする必要ないからね 最適化の邪魔になる可能性あるよって親切に教えてくれてるんでしょ
130 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 13:14:32.39 ID:8dhupYNq.net] 118からの
131 名前:ャれで122を書いたんだけど const付きで何かした結果をmoveでなら無理なくconst外し できるのかって発想で実験してたんだ [] [ここ壊れてます]
132 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 14:21:00.13 ID:jcurN+EG.net] >>123 そんなことするくらいだったらstd::dequeの方がよくね?
133 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 14:39:44.01 ID:YPeginhU.net] std::list は大丈夫かもしれないけど std::deque は vector と同じような。
134 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 14:56:19.70 ID:jcurN+EG.net] まぁ、std:dequeはチャンク単位でメモリ確保するから、頭とお尻の操作であればの再配置が行われないけど、途中要素だと再配置入るから保証は無理か。
135 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 15:02:45.14 ID:YPeginhU.net] ああなるほど、dequeの尻に追加する分には既存の要素の再配置は起こらないのか。ありがとう。
136 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 16:29:46.55 ID:hkax3Wzu.net] dequeの実装方法は規定されてなかったような
137 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 17:01:07.64 ID:jcurN+EG.net] 詳しくは知らないけど、std::dequeにはreserveがないから、ちゃんと規定されているのではないかと思う。
138 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 10:18:26.20 ID:W3M0tzcA.net] C++とか多重定義があるから関数名が内部で修飾されて違う名前にするの、英語でなんか呼び名があったと思うのですが なんというのですか? C++と多重定義に限らず、実際の名前と違うのを作ることを言うのかも知れなかったけど
139 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 10:23:41.44 ID:kPvcajv8.net] マングリングのことかな
140 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 14:22:17.23 ID:W3M0tzcA.net] >>135 それです。 ありがとうございました。
141 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 14:24:24.22 ID:7xbR7AqI.net] 昔から思ってるけど、マングリングっていう単語 ちょっと口にするのに抵抗ある感
142 名前: [2020/01/01(水) 15:23:06.14 ID:tqBP4ADq.net] あけおめこ とよろ まんぐりがえし
143 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 16:31:16.52 ID:BCFJuGnw.net] うちの会社は開発島のとなりに総務島があってマングリングを誤解するだろうお姉さま方がたくさんいるから、とても言えない。 わざと聞こえるように言って反応を見てみたい気もするが怖くて出来ない。
144 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 16:34:16.30 ID:9/85Pj9b.net] そんな事をいちいち気にしなきゃいけないとか大変だな 置換とか正規表現とかも言うなよ
145 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 20:13:50.83 ID:57Nye4dF.net] マングリング返し
146 名前:デフォルトの名無しさん [2020/01/02(木) 09:10:44.11 ID:hTPsjNJF.net] 公園で置換
147 名前:デフォルトの名無しさん [2020/01/02(木) 10:54:51.63 ID:fRqsjLPx.net] 置換みたいな面倒なのは通勤電車の中で済ませろ
148 名前:デフォルトの名無しさん mailto:sage [2020/01/02(木) 13:02:38.31 ID:vIdqLkFw.net] string GetAnswer(string mode, string text) { std::string ques, ans; if (mode == "Read") { std::ifstream ifs("xxxx.txt", std::ios::in); ques = text; } else if (mode == "Write") { std::ifstream ifs("xxxx.txt"); ques = split(text, ":")[0]; } std::string str; ans = "not_found"; std::vector<std::string> line; while (getline(ifs, str)) { ・・・・・・・・・ } l・・・・・・・・ この状態でgetlineを読み込まないのはなぜですか。
149 名前:デフォルトの名無しさん mailto:sage [2020/01/02(木) 13:04:51.69 ID:vIdqLkFw.net] std::ifstream ifs("xxxx.txt"); if (mode == "Read") { // std::ifstream ifs("xxxx.txt", std::ios::in) //コメントで外す; もしくは削除 ques = text; } else if (mode == "Write") { // std::ifstream ifs("xxxx.txt"); //コメントで外す、もしくは削除 ques = split(text, ":")[0]; } こうすれば、まともに動くのですが、前記の状態で動かないのはなぜですか。 modeは"Read"と""Write"しかないのですが。
150 名前:デフォルトの名無しさん [2020/01/02(木) 13:16:19.00 ID:fRqsjLPx.net] if抜けたらそれはどこへ逝く?
151 名前:デフォルトの名無しさん mailto:sage [2020/01/02(木) 13:19:25.49 ID:+UNtt4nj.net] >>145 コンパイルエラーじゃね?
152 名前:デフォルトの名無しさん [2020/01/02(木) 13:23:42.58 ID:fRqsjLPx.net] グローバルのスコープにあるんじゃ
153 名前:ヒ [] [ここ壊れてます]
154 名前:デフォルトの名無しさん mailto:sage [2020/01/02(木) 13:38:13.22 ID:+UNtt4nj.net] グローバルスコープにあるならオープンされてなさそうだね
155 名前:デフォルトの名無しさん mailto:sage [2020/01/02(木) 19:15:39.81 ID:G5uvQucS.net] 質問ですが以下のコードのように、enum Barが クラスFooの中でprivateなサブタイプとして定義されているときに、 enum Barで定義されている定数TAG1やTAG2を ラムダ式の定義の中からクラス名修飾無しで使うにはどうしたらいいんですかね… class Foo { private: enum Bar { TAG1, TAG2, TAG3 }; public: enum Bar some_method(); enum Bar launch(std::function<enum Bar(int)> func); }; Foo::Bar Foo::some_method() { // メソッドの地の文 printf("TAG1=%d\n", TAG1); // これはクラス名修飾無しでもOK // ラムダ式の定義 auto lambdaFunc = [=](int x)->enum Bar{ if (x == 1) { return Foo::TAG1; // これはクラス名修飾しないとコンパイルエラー } else { return Foo::TAG2; // これもクラス名修飾しないとコンパイルエラー } }; // ラムダ式を使う return launch(lambdaFunc); }
156 名前:デフォルトの名無しさん mailto:sage [2020/01/02(木) 19:27:46.90 ID:LbxbUX1g.net] >>150 https://ideone.com/38OeRz 出来たけど、なんか間違ってるか?
157 名前:デフォルトの名無しさん mailto:sage [2020/01/02(木) 20:18:42.74 ID:G5uvQucS.net] >>151 レスdクス、だいたい動いたのですがMSVC 2010だと1点変更が必要でしたorz ↓17行目 https://ideone.com/PYoVfL some_method()の定義をクラスFooの定義外に持っていっても同じ。 ラムダ式の中でFoo::TAG1とせねばならないというのは誤認だった模様サーセン、 しかし上のような新たな闇に行き当たってしまった、、、
158 名前:デフォルトの名無しさん mailto:sage [2020/01/02(木) 20:21:51.56 ID:G5uvQucS.net] なお、>>152 の17行目のthisをコメントアウトして(つまりオリジナルの>>151 のコードに戻して) その上でラムダ式Lmの中でFoo::T1と書くともっと訳のわからないエラーを吐かれる↓↓↓ 1>ideone_38OeRz.cpp(19): error C2065: '__this' : 定義されていない識別子です。 1>ideone_38OeRz.cpp(19): error C2227: '->T1' : 左側がクラス、構造体、共用体、ジェネリック型へのポインターではありません。 21世紀も半ばにさしかかろうというのにこんなことになるとわ…!
159 名前:デフォルトの名無しさん mailto:sage [2020/01/02(木) 20:32:11.41 ID:/0b57Mnr.net] C++11ですらない化石はさすがに使う方が悪い
160 名前: mailto:sage [2020/01/02(木) 20:34:22.22 ID:VmmTWzwp.net] 遅いけど、私はなかなか c++11 に移行できていない労咳だと心底自覚するようになりました…
161 名前:デフォルトの名無しさん mailto:sage [2020/01/02(木) 20:35:08.33 ID:LbxbUX1g.net] https://ideone.com/b6s1Oi >>152 病みすぎて良くわからん。 >>153 Ideonでは動いているので、環境が古すぎるとしか言いようがないな。 2010ってそろそろ10年前といっても差し支えない程度に古いぞ。
162 名前:デフォルトの名無しさん mailto:sage [2020/01/02(木) 20:42:19.47 ID:LbxbUX1g.net] そういえば、ドラフトのIO2Dってどうなったんすか?
163 名前:デフォルトの名無しさん mailto:sage [2020/01/02(木) 21:38:42.85 ID:/mhKa7TF.net] 頓挫したんじゃない? 一時期どんなものかと資料調べてだけどまとまってなかったよ。今どうなんだろうね?
164 名前:デフォルトの名無しさん mailto:sage [2020/01/02(木) 21:50:26.55 ID:LbxbUX1g.net] ぐあ、残念。
165 名前:デフォルトの名無しさん mailto:sage [2020/01/02(木) 22:43:44.99 ID:NQs+pspB.net] ideoneが未だにジム神様としか読めない
166 名前:デフォルトの名無しさん mailto:sage [2020/01/02(木) 22:53:50.64 ID:LbxbUX1g.net] 俺はアニメのほう思い出すよ。見たことないけど。
167 名前:デフォルトの名無しさん mailto:sage [2020/01/02(木) 23:23:24.45 ID:vIdqLkFw.net] >>146 ReadかWriteのどちらかを抜けてからgetlineで読み込みますね。 デバッグで確認しています。 >>147 ビルドの段階で全くエラーが出ません。 警告にもなっていません。>>149 >>149 グローバルスコープと言うより全体が__declspec(dllexport)で 出力された関数です。
168 名前:デフォルトの名無しさん mailto:sage [2020/01/02(木) 23:46:28.42 ID:HVAsQwCl.net] >>162 VS使ってんでしょ? > while (getline(ifs, str)) このifsを右クリックして定義がどこか探しなはれ
169 名前:デフォルトの名無しさん [2020/01/03(金) 12:08:13.91 ID:lHIykz7y.net] >>162 ここまで頓珍漢なレスは久々に観た 釣りなら大したもんだ
170 名前:デフォルトの名無しさん mailto:sage [2020/01/03(金) 13:55:16.44 ID:fIUwKVUy.net] 初心者なんてそんなもんだろ >>145 if/else文の中で宣言されたifsはブロック{}で囲まれてしまっているから、ブロックの外からアクセスできない。 だからgetlineに渡してるifsはどこか別の場所にあるifsを参照してしまっている。 std::fstream fs; //< 読み書き両用にするなら"fstream"にすること if (mode == "Read") { . fs.open("xxxx.txt", std::ios::in); . ques = text; } else if (mode == "Write") { . fs.open("xxxx.txt"); . ques = split(text, ":")[0]; } ... getline(fs, str)
171 名前:デフォルトの名無しさん mailto:sage [2020/01/03(金) 17:20:32.66 ID:f1l2rf84.net] >>165 おっしゃる通りです。お恥ずかしい。 for文とかにだけ当てはまると思っていました。 後はローカルかグローバル変数かぐらいしか。 ありがとうございました。
172 名前:デフォルトの名無しさん mailto:sage [2020/01/08(水) 07:56:51.57 ID:L9bP3bPr.net] >>166 いえいえ
173 名前:デフォルトの名無しさん mailto:sage [2020/01/08(水) 11:04:42 ID:5cG1OuZI.net] vector<vector<vector<char>>> data(10, vector<vector<char>>(3, vector<char>(3))); だと,、char[10][3][3]になると思うのですが [10]の部分だけ動的にするにはどうすればいいのでしょうか。
174 名前:デフォルトの名無しさん mailto:sage [2020/01/08(水) 11:09:21 ID:tEaTJVpu.net] [3][3]を固定にしたいってことか?