1 名前:デフォルトの名無しさん (ワッチョイ 7b5b-xKv1) mailto:sage [2016/05/21(土) 01:21:01.51 ID:HBQ7d37R0.net] C++に関する質問やら話題やらはこちらへどうぞ。 ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレに お願いします。 前スレ C++相談室 part124 echo.2ch.net/test/read.cgi/tech/1459610544/ このスレもよろしくね。 【初心者歓迎】C/C++室 Ver.97【環境依存OK】 peace.2ch.net/test/read.cgi/tech/1439849418/ ■長いソースを貼るときはここへ。■ codepad.org/ ideone.com/ [C++ FAQ] https://isocpp.org/wiki/faq/ www.bohyoh.com/CandCPP/FAQ/ (日本語) VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2 名前:デフォルトの名無しさん (ワッチョイ 7b5b-xKv1) mailto:sage [2016/05/21(土) 01:21:51.01 ID:HBQ7d37R0.net] STLつかうと一気に実行ファイルサイズが10倍に?! 環境によるだろ。 俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力 ランタイムを使用するようにして使っているが、例えばstd::vectorを 使っても使わない時と比べ10Kほどしか増えない すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。 C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。 とかいうエラーが出るんだけ
3 名前:どこれってどうすればいいの? #include <stdafx.h> 後死ね。 言葉が悪いな。それで教えているつもりか。 まぁヒントぐらいにはなったな。 うむごくろう。 ---- テンプレ ここまで ---- [] [ここ壊れてます]
4 名前:デフォルトの名無しさん (フォンフォン FF7c-9i5Z) [2016/05/21(土) 11:09:02.64 ID:pd6ZdHYkF.net] 日本マイクロソフト人事本部シニアマネージャー(名ばかり管理職)の西川昌邦(さいかわまさくに)は犯罪者にして殺人犯だ!! 「あなたのような従業員は会社のパフォーマンスにとってマイナスなので早く死んでください」 などと自殺教唆を公然と行った!! その結果人が死んだ!! 丁寧に言えば何を言ってもいいというものではない!!これはヤクザや借金取りが脅迫をする時に 「いついつまでに金一億円をお振り込みください。命が惜しければ間違った判断をなされないことを期待します」 と発言するのと同じレベルだ!! しかもそれを注意してやったら、「世間はわれわれの味方だ。文句があるなら訴えてきたらよろしい。メールを電番を公開したければ どうぞご自由に。世論はわれわれを賛辞するするメールを送付するだろう」 などとイカ様気取りも大概にしろという発言を行った!! 抗議先 日本マイクロソフト人事本部 西川昌邦 メール:masaikaw●microsoft.com (●を@に置き換えて) 電話:09025411718
5 名前:デフォルトの名無しさん (ワッチョイ a759-MTTD) mailto:sage [2016/05/21(土) 14:12:20.59 ID:af3CQIfx0.net] >>1 乙
6 名前:デフォルトの名無しさん (ワッチョイ d379-xKv1) [2016/05/21(土) 14:28:18.44 ID:KTXVvqTh0.net] ideone.com/34cyYG このコードをMS C++ Expressでデバッグなしで実行しようとすると エラーが出ます しかしこのサイトでは実行できています なぜですか?
7 名前:デフォルトの名無しさん (ワッチョイ 3e02-MTTD) mailto:sage [2016/05/21(土) 14:31:04.40 ID:lmvB7ZQU0.net] >>5 どんなエラーがいつでるの?
8 名前:デフォルトの名無しさん (ワッチョイ d379-xKv1) [2016/05/21(土) 14:32:44.82 ID:KTXVvqTh0.net] 上のサイトではしっかり実行できてるのに ソフトでは 構文エラー : ',' が ':' の前にありません。 1>c:\users\user\documents\visual studio 2008\projects\test\sample.cpp(18) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既 定値としてサポートしていません 1>c:\users\user\documents\visual studio 2008\projects\test\sample.cpp(18) : error C2530: 'pair' : 参照が初期化されずに宣言されています。 1>c:\users\user\documents\visual studio 2008\projects\test\sample.cpp(18) : error C2143: 構文エラー : ';' が '{' の前にありません。 など無数のエラーが出て実行できない
9 名前:デフォルトの名無しさん (ワッチョイ bd6c-WkY+) mailto:sage [2016/05/21(土) 14:37:08.53 ID:nQ1EVjn10.net] VS2008でautoサポートしてない?
10 名前:デフォルトの名無しさん (ワッチョイ 7bf8-xFql) mailto:sage [2016/05/21(土) 14:37:32.23 ID:4qmWB+Wj0.net] >>7 Visual Studioだからしょうがない。
11 名前:デフォルトの名無しさん (ワッチョイ e6cc-MTTD) mailto:sage [2016/05/21(土) 14:38:08.52 ID:7wY/KmeB0.net] autoとfor(:)が使えるのはC++11から VS2008では無理
12 名前:デフォルトの名無しさん (ワッチョイ 3e02-MTTD) mailto:sage [2016/05/21(土) 14:39:28.27 ID:lmvB7ZQU0.net] >>7 エラーメッセージからすると、使っているのはVisual Studio 2008だよね コンパイラが古いからそのコードで使われている新しいC++の構文をコンパイルできてない Visual Studio 2015の無償版があるからそれいれなさい
13 名前:デフォルトの名無しさん (ワッチョイ d379-xKv1) [2016/05/21(土) 14:39:57.58 ID:KTXVvqTh0.net] じゃあC++11をインスコすれば実行できるんですか?
14 名前:デフォルトの名無しさん (ワッチョイ e6cc-MTTD) mailto:sage [2016/05/21(土) 14:41:05.38 ID:7wY/KmeB0.net] VS2013以降で利用可能
15 名前:デフォルトの名無しさん (ワッチョイ d379-xKv1) [2016/05/21(土) 14:46:31.23 ID:KTXVvqTh0.net] 2015はどこからDLできますか 複雑すぎてわかりません
16 名前:デフォルトの名無しさん (ワッチョイ d379-xKv1) [2016/05/21(土) 14:52:36.57 ID:KTXVvqTh0.net] なんかそれっぽいのをクリックしたら8GBもかかるって 出るんですが本当ですか
17 名前:デフォルトの名無しさん (ワッチョイ bd6c-WkY+) mailto:sage [2016/05/21(土) 14:55:57.63 ID:nQ1EVjn10.net] おにいさんスレタイよめまちゅか〜?
18 名前:デフォルトの名無しさん (ワッチョイ 7182-/fHo) [2016/05/21(土) 16:44:04.55 ID:PQEpqFyd0.net] >>14 https://gist.github.com/CHEF-KOCH/8078b39e1aad71ef6c317a3c0edb6ec9
19 名前:デフォルトの名無しさん (スプー Sd28-HoE0) [2016/05/23(月) 09:14:59.05 ID:+2REWar9d.net] template< typename T > struct hoge { int a; T val; }; hoge< std::string > h; bool b = (void*)&h == (void*)&h.a; bは常に真になりますか?
20 名前:デフォルトの名無しさん (ワッチョイ d0a8-xKv1) mailto:sage [2016/05/23(月) 09:33:27.33 ID:EVT+OYCD0.net] なる。 構造体を指すポインタと構造体の最初の要素のポインタは互換性があることは保証される。
21 名前:デフォルトの名無しさん (ワッチョイ b0cf-G0cz) mailto:sage [2016/05/23(月) 10:49:07.22 ID:CGtGrh0g0.net] >>18-19 それが言えるのは standard layout class の場合だけ。 std::string 入れちゃうと保証がなくなる。
22 名前:デフォルトの名無しさん (ワッチョイ 9102-xKv1) mailto:sage [2016/05/23(月) 12:14:44.09 ID:DhkHIJPM0.net] 何故
23 名前:デフォルトの名無しさん (アウアウ Sab5-MTTD) mailto:sage [2016/05/23(月) 12:48:08.66 ID:L1e0GZEGa.net] これだな 9.2.21 A pointer to a standard-layout struct object, suitably converted using a reinterpret_cast, points to its initial member (or if that member is a bit-field, then to the unit in which it resides) and vice versa. [ Note: There might therefore be unnamed padding within a standard-layout struct object, but not at its beginning, as necessary to achieve appropriate alignment. — end note ]
24 名前:デフォルトの名無しさん (ワッチョイ 653c-MTTD) mailto:sage [2016/05/23(月) 17:56:00.02 ID:3i62jH+e0.net] >>22 段落ずれてるぞ 前スレ>>769 で同じことを書いたような
25 名前:デフォルトの名無しさん (ブーイモ MM31-MTTD) mailto:sage [2016/05/24(火) 20:41:37.54 ID:MrSZwiU0M.net] printfの%gに相当する書式はiostreamにはないんですか? fixedとscientificがあるから当然generalもあるかと思ったらなくて驚きました
26 名前:デフォルトの名無しさん (ワッチョイ e6cc-MTTD) mailto:sage [2016/05/24(火) 22:28:01.07 ID:+m15y26g0.net] 無いよ だから流行らないんだけどね
27 名前:デフォルトの名無しさん (ワッチョイ 1c6a-/fHo) [2016/05/25(水) 08:34:01.24 ID:58nfhpHt0.net] ないなら作れ、これができるのがiostreamのcstdioより優
28 名前:れているところだ [] [ここ壊れてます]
29 名前:デフォルトの名無しさん (ササクッテロ Spbd-7Gsa) mailto:sage [2016/05/25(水) 15:24:00.21 ID:VtVzbof+p.net] utf-8の.txtをifstreamで読み取る方法教えてください 普通にやったら何か文字化けします
30 名前:デフォルトの名無しさん (ワッチョイ 917b-P/BW) [2016/05/25(水) 16:09:33.63 ID:gyPde1un0.net] >>27 Windowsか?バイナリーモードで開け
31 名前:デフォルトの名無しさん (ササクッテロ Spbd-7Gsa) mailto:sage [2016/05/25(水) 16:14:17.78 ID:VtVzbof+p.net] >>28 ありがとうございます。 ifstream ifs; ifs.open(”hoge.txt”, ios::binary); string str; getline(ifs,str); cout << str << endl; でやってみましたが出来ませんでした…文字化けします
32 名前:デフォルトの名無しさん (ワッチョイ 7bf8-xFql) mailto:sage [2016/05/25(水) 16:17:16.51 ID:8+OpaV010.net] WindowsのcoutのエンコーディングってUCS2か何かじゃ無かったっけ。 文字コードに互換性が無ければ文字化けする。
33 名前:デフォルトの名無しさん (ワッチョイ bd6c-dqc0) mailto:sage [2016/05/25(水) 16:18:50.61 ID:ORzsgYAm0.net] クラスCから次の意味で生成されるクラスDがあります class D{ C& _c; public: D(C& c):_c(c){} ... } この時、const Cクラスから単純には生成できません 一般的にはDはCを非constで受け取る必要がありますが const Dクラスを作る場合Cはconstで受け取る設計にしてOKなのですが そうしたい場合どう改造するのがスマートですかね?
34 名前:デフォルトの名無しさん (ワッチョイ 917b-P/BW) [2016/05/25(水) 16:35:13.19 ID:gyPde1un0.net] >>29 Windowsのコンソールのエンコーディングはロケールによる 日本語設定にしてるならcoutはcp932(shift_jis)かwcoutはUTF16 ・実行前にchcp 65001 してUTF-8に変える ・wifstreamに変更して wif.imbue(std::locale(std::locale::empty(), new std::codecvt_utf8<wchar_t>));こんな感じでロケール設定してwstrinと wcoutを使う どっちかで
35 名前:デフォルトの名無しさん (スプー Sd78-MTTD) mailto:sage [2016/05/25(水) 17:28:10.96 ID:d1rEd2y1d.net] >>31 日本語がふわふわしてて、なにがしたいのかよくわからん C c; D d(c); と const C c; const D d(c); の2パターンに対応したいってこと?
36 名前:デフォルトの名無しさん (ワッチョイ 7bf8-xFql) mailto:sage [2016/05/25(水) 17:28:40.96 ID:8+OpaV010.net] >>31 DがCを変更しないなら、const修飾子を付けることは出来る。 class D { const C& _c; public: D(const C& c) : _c(c) {} }; CがDに変更されうり、かつ、Cは一度Dを生成したら二度と使われないのであれば、move semanticsを使うことも出来る class D { C _c; public: D(C&& c) : _c(std::move(c)) {} }; CがDに変更されうる上にCが複数のDを生成するのであれば、CをDのfriendに指定して、Dのprivate constructorをCから呼ぶ事で解決できる class D; class C { std::shared_ptr<C> self; public: C() : self(std::shared_ptr<C>(this)) { return; } D* make_D(); }; class D { friend C; std::shared_ptr<C> _c; explicit D(const std::shared_ptr<C>& c) : _c(c) { return; } }; D* C::make_D() { return new D(self); } 後なんかあったっけ?
37 名前:デフォルトの名無しさん (ワッチョイ bd6c-WkY+) mailto:sage [2016/05/25(水) 17:43:13.47 ID:ORzsgYAm0.net] >>33 そういうことです >>34 ありがとうございます、参考にします
38 名前:デフォルトの名無しさん (スプー Sd28-MTTD) mailto:sage [2016/05/25(水) 18:32:28.15 ID:jhIxp3LFd.net] >>31 std::refとstd::crefが違う型を返すことを考えると、 それってあんまり良くないんじゃないかな?
39 名前:デフォルトの名無しさん (ワッチョイ bd7b-MTTD) mailto:sage [2016/05/25(水) 19:59:35.92 ID:XGCAXKlf0.net] iterator
40 名前:ニ同様にconstと非constで型を分けるのが真っ当なやり方じゃね? [] [ここ壊れてます]
41 名前:デフォルトの名無しさん (ワッチョイ 9b79-kHkB) [2016/05/27(金) 22:07:18.88 ID:3bwC+MKv0.net] ideone.com/34cyYG これをパソコンで実行できたんですが、コマンドラインに 出た結果をコピペできません、どうすればいいですか あと、この解の個数を表示するためにどんなコードを 付け加えればいいか教えてください
42 名前:デフォルトの名無しさん (ワッチョイ 9b79-kHkB) [2016/05/27(金) 22:10:51.41 ID:3bwC+MKv0.net] あとこのコードだとnが14以上の時にほとんど解が求まりません しかし解の最大値と最初値は分かっているのでその範囲内で 探索するようにすれば解は出ると思います そういう観点からコードを組み直してくれませんか
43 名前:デフォルトの名無しさん (ワッチョイ 9b79-kHkB) [2016/05/27(金) 22:14:03.63 ID:3bwC+MKv0.net] あ、コピペはライン上でできたんでいいです 解の個数以下をお願いします
44 名前:デフォルトの名無しさん (ワッチョイ 9b79-kHkB) [2016/05/27(金) 22:20:15.37 ID:3bwC+MKv0.net] あれ、今度はctrl+Cでコピーできなくなった どういうことですか
45 名前:デフォルトの名無しさん (ワントンキン MMff-khAS) mailto:sage [2016/05/27(金) 23:06:21.15 ID:Hna0N9WzM.net] なにいってだ
46 名前:デフォルトの名無しさん (ワッチョイ e302-kHkB) mailto:sage [2016/05/28(土) 02:31:19.15 ID:YovP5ot70.net] 分かりません
47 名前:デフォルトの名無しさん (ワッチョイ 9b8c-SNRC) mailto:sage [2016/05/28(土) 12:07:56.86 ID:jJTRpnQ60.net] winは初めてか? 範囲選択してenter
48 名前:デフォルトの名無しさん (ワッチョイ 9b79-kHkB) [2016/05/28(土) 19:03:14.41 ID:7/JD/idn0.net] >>39 に答えてほしいんですが
49 名前:デフォルトの名無しさん (ワッチョイ 9b8c-SNRC) mailto:sage [2016/05/28(土) 19:36:31.48 ID:jJTRpnQ60.net] 範囲選択してenterでコピー出来るぞ
50 名前:デフォルトの名無しさん (ワッチョイ b37b-khAS) mailto:sage [2016/05/28(土) 20:36:27.79 ID:Y4q1bHMO0.net] 一行目をみて一気にやる気が失せた。
51 名前:デフォルトの名無しさん (ワッチョイ e3c9-khAS) mailto:sage [2016/05/28(土) 20:37:33.41 ID:Vy3PTpdZ0.net] >>39 回答を列挙する必要がなく、答えの個数だけ求めるのなら、メモ化再帰すればいいのではないかと思う。 何個まで使ったか(iの値)、最後に使ったaiの値、これまでのajの合計を状態として、漸化式をたてる。これまでのajの合計を実数で保持すると誤差死するから、2^nして、整数にすると良い。 外してたらゴメン。 リンク先のコードに、片山さんの名前があるから、ご指名で、質問したらいいのでは?
52 名前:片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK7f-Ueuo) mailto:sage [2016/05/28(土) 20:49:50.74 ID:BPoJKFOKK.net] >>38 右クリックして範囲選択。 cout << solutions.size() << endl;
53 名前:デフォルトの名無しさん (ワッチョイ 9b79-kHkB) [2016/05/28(土) 21:55:21.37 ID:7/JD/idn0.net] >>49 救世主キターーーーーーーーーーーーーー っていうかこのコードだとn=15くらいで計算不能になるのですが 計算可能なコードって書けないんですか? 1〜14の範囲内にあるってことが分かっているのでコンピュータ に計算させるのが難しいはずがないんですが
54 名前:片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK7f-Ueuo) mailto:sage [2016/05/28(土) 22:50:05.11 ID:BPoJKFOKK.net] >>50 多倍長計算
55 名前:デフォルトの名無しさん (ワッチョイ 8763-khAS) mailto:sage [2016/05/29(日) 07:19:12.33 ID:5/hKFy9c0.net] ↑会話の出来ないアスペ
56 名前:デフォルトの名無しさん (アウアウ Sae5-ChPp) mailto:sage [2016/06/02(木) 17:00:19.16 ID:+AO86RlVa.net] cとc++って別の言語だってよく言われるんだけど ネットでc++のソースみるとcの関数が使われてる。 scanfとかprintfとかはc++ではcin、coutにしろって 本にかいてるけど、scanfやらfgets使ってる人多数。 c++=c言語にあった関数+c言語になかった追加関数+オブジェクト指向; ってことなの? だからcの関数だってなんだっていいから気にせず使えよってこと?
57 名前:デフォルトの名無しさん (スプー Sdb8-ud2d) mailto:sage [2016/06/02(木) 17:10:23.74 ID:2/ji+i8+d.net] cにあった関数が名前とシグネチャと機能はそのままにc++の関数として提供されている。だから正確にはcの関数ではない。 であってる?
58 名前:デフォルトの名無しさん (ワッチョイ fe9f-py2h) mailto:sage [2016/06/02(木) 17:13:14.69 ID:S/TzBOdj0.net] >>53 scanfとかprintfとかはC言語の標準ライブラリの関数だが 良く使われる言語にはC言語で出来たライブラリをバインディングする機能がある その中でもC++はC言語のライブラリのバインディングが簡単という特徴がある C言語から着た人は便利だからprintfとかを使ってしまうっということだろう それらを使かどうかは自由だ
59 名前:デフォルトの名無しさん (ワッチョイ eddc-AjkE) mailto:sage [2016/06/02(木) 17:21:54.58 ID:Xtmzf8ox0.net] 初心者に読ませる入門レベルでは 型を意識しなくてよいストリームI/O(coutとか)より 型を意識しないといけない入出力関数(printfとか)の方が 説明の流れがスムースになるって理由もあるんじゃないかな。 「CやC++は強く型付けされたプログラム言語」という基本部分。 ストリームが気色悪いと思ってる人が多いだけかもしれないけど。
60 名前:デフォルトの名無しさん (アウアウ Sae5-ChPp) mailto:sage [2016/06/02(木) 18:03:57.39 ID:+AO86RlVa.net] ということは、c++で使えるcの関数はc++のものだと考えて じゃんじゃん使っていいってこと? いや、なぜこんなこときくのかというと、 fire,15 cold,29 thunder,47 みたいな入力を取得しようとするとき、 人によって、cinとかscanf、fgetsさらに strtok、sstream、やら方法が一貫してなくて 何が最適なのかわかんなかったんだ。 PHPだと入力はfgetsでtrimしかないからすごくよくわかる ゲームのマリオみたいにジャンプするならAボタン! みたいな方法はc++では確立されてないの?
61 名前:デフォルトの名無しさん (ワッチョイ 3f7b-pivs) [2016/06/02(木) 18:22:47.09 ID:yckiqRm+0.net] うん。C++はC標準ライブラリを取り込んでいるんだから(C++14 17.2) じゃんじゃん使ってOK C++の標準ストリームライブラリはフォーマッティング機能が乏しすぎて サンプルプログラムを作る分にはまだいいかも知れんが(?) 実業務じゃ使いものにならないケースが多い
62 名前:デフォルトの名無しさん (オッペケ Sr89-ud2d) mailto:sage [2016/06/02(木) 18:24:08.96 ID:it0ZbBasr.net] >>55 >scanfとかprintfとかはC言語の標準ライブラリの関数だが >良く使われる言語にはC言語で出来たライブラリをバインディングする機能がある Cのライブラリ関数をC++から呼び出す奴は居るし C標準ライブラリで提供される機能のC++版関数を呼び出すことはよくあるが、 C標準ライブラリの関数をC++から呼び出す奴はかなり変人だ。 素人に変なことを吹き込むな
63 名前:デフォルトの名無しさん (ワッチョイ 9f73-Q64q) mailto:sage [2016/06/02(木) 18:25:46.66 ID:C+JTDnqc0.net] 基本cでc++の便利機能の利用お勧め cが便利なアセンブラだから当然言語仕様上の穴がある c++も同じ様なものなので同じような穴がある 他に関数に渡すパラメーターの並べかたやポインター渡し推奨な場合とか色々 出来の良いライブラリ読んでどの様な作法か勉強するしかない オレ様流流儀が容易に表現できるけど自分でやった無作法に自分で苦しむのも容易
64 名前:デフォルトの名無しさん (スプー Sdb8-ud2d) mailto:sage [2016/06/02(木) 18:45:01.81 ID:2/ji+i8+d.net] 実業務で標準入出力なんて使うの?
65 名前:デフォルトの名無しさん (アウアウ Sae5-ChPp) mailto:sage [2016/06/02(木) 19:03:56.48 ID:+AO86RlVa.net] なんかc++の位置づけがわかってきた。 カレーに例えると cはカレースパイスのみ、ほか食材は作るか調達。 c++は市販のカレー粉とほかの食材。 別にスパイスを使いたかったら使ってもいいけど、 市販のカレー粉使えばいいよ。食材もある程度用意してる。 なければ調達しな。 c#、JAVA、PHP、他スクリプト系は、レトルトカレー。 こんな認識でいい? まとめると、c++は生の食材を料理するから 腕次第によってまずくも、うまくもなる。 だって、いろいろな道具が用意されてるから。
66 名前:デフォルトの名無しさん (ワッチョイ 3f7b-pivs) mailto:sage [2016/06/02(木) 19:25:29.55 ID:yckiqRm+0.net] その手の例えはどうしたって的外れになるから止めておけ。
67 名前:デフォルトの名無しさん (ドコグロ MMf4-ud2d) mailto:sage [2016/06/02(木) 19:41:34.04 ID:SGqeHS7dM.net] >>61 実業務って何を指すかによるけど 会社で使うソフトと言う意味なら頻度は少ないけど使ったことはある
68 名前:デフォルトの名無しさん (ワッチョイ 8063-ud2d) mailto:sage [2016/06/02(木) 19:46:51.57 ID:icPOSwlV0.net] >>54 CのctanはC++に無いし、strchrやprintfのシグネチャーは同一ではないぞ >cの関数ではない ここはあってる
69 名前:デフォルトの名無しさん (スプー Sdb8-ud2d) mailto:sage [2016/06/02(木) 20:17:42.44 ID:2/ji+i8+d.net] >>65 あり
70 名前:デフォルトの名無しさん (オッペケ Sr89-ud2d) mailto:sage [2016/06/02(木) 22:17:44.11 ID:n9ndp25+r.net] >>62 お前はウン粉でも食ってろ >>56 >説明の流れがスムース お前は昭和からタイムスリップしてきたのかよ
71 名前:デフォルトの名無しさん (ワッチョイ 9d02-ChPp) mailto:sage [2016/06/02(木) 22:26:52.45 ID:W/e1Hdca0.net] 昭和の言語じゃん
72 名前:デフォルトの名無しさん (ワッチョイ 8063-ud2d) mailto:sage [2016/06/02(木) 23:02:00.98 ID:icPOSwlV0.net] CもISO標準化前の時代を含めると昭和だな 文法がキモかったらしいがよく知らない
73 名前:デフォルトの名無しさん (ワッチョイ df42-ChPp) mailto:sage [2016/06/02(木) 23:38:27.77 ID:P58iKYFf0.net] 昭和の言語って世界に通じる表現なの?
74 名前:デフォルトの名無しさん (ワッチョイ 9d02-ChPp) mailto:sage [2016/06/03(金) 00:32:09.44 ID:5+yG3bCV0.net] 昭和は日本人しか知らないでしょ
75 名前:デフォルトの名無しさん (ワッチョイ eddc-AjkE) mailto:sage [2016/06/03(金) 05:45:31.06 ID:o7VJVlqj0.net] >>67 「説明の流れがスムース」ってレトロ調か。 じゃぁナウい平成の表現ではどうすべきか教えて丁髷。
76 名前:デフォルトの名無しさん (ワッチョイ 96c0-D9Ox) mailto:sage [2016/06/03(金) 06:54:26.65 ID:+0Di2rYP0.net] 反論してる言葉が昭和で草
77 名前:デフォルトの名無しさん (オッペケ Sr89-ud2d) mailto:sage [2016/06/03(金) 08:17:51.99 ID:DSoZZ+3or.net] >>72 スムーズしかないだろ メロスはプッツンした並の言語センスだな
78 名前:72 (ワッチョイ eddc-AjkE) mailto:sage [2016/06/03(金) 12:29:34.36 ID:o7VJVlqj0.net] おお "smooth" の th は有声音で、全体で「スムーズ」に近い発音か。 語尾の th は一般に濁らないものだと思ってたよ。 序数標識の th から類推してね。他にはプログラム言語のFORTHとか。 しかも昔は日本語で「スムース」の表記があったのか。 「昭和の書き方」と言われるのもむべなるかな。 いや、かたじけない。
79 名前:デフォルトの名無しさん (ワッチョイ 59ec-dUIB) [2016/06/03(金) 23:07:58.44 ID:VvFq8Qy/0.net] ja.forvo.com/word/smooth
80 名前:デフォルトの名無しさん (ガックシ 069c-4qA/) mailto:sage [2016/06/07(火) 12:23:27.58 ID:7urPq1456.net] 時代がさらに戻ってて草
81 名前:デフォルトの名無しさん (ワッチョイ 9d02-ChPp) mailto:sage [2016/06/07(火) 19:06:56.90 ID:qUlfbL0p0.net] いまだにラムダ式をそらで書けないんだがどう覚えたらいい?
82 名前:デフォルトの名無しさん (ガラプー KK6d-pkX1) mailto:sage [2016/06/07(火) 19:13:41.47 ID:AqghaPJwK.net] >>78 カンニングペーパーでも作ってろ
83 名前:デフォルトの名無しさん (ワッチョイ b2a8-ChPp) mailto:sage [2016/06/07(火) 19:47:47.36 ID:PW1KNSvD0.net] 堪忍してつかぁさい
84 名前:デフォルトの名無しさん (ワッチョイ 8063-ud2d) mailto:sage [2016/06/07(火) 21:02:55.00 ID:25tonARw0.net] 見ればすぐわかるものを覚える必要はない
85 名前:デフォルトの名無しさん (スプー Sdb8-ud2d) mailto:sage [2016/06/08(水) 09:07:52.86 ID:cIBTG1hgd.net] std::sortの比較関数をラムダ式で書いてるプログラム見るけど、あれ何で引数部分に要素が渡されるのか、いまいち理解してない
86 名前:デフォルトの名無しさん (ワンミングク MM40-ud2d) mailto:sage [2016/06/08(水) 09:14:34.66 ID:aBxmQ6GCM.net] sortの中でcompareに渡すとき参照を剥がすように実装してるから以外の答えはありうるのか…?
87 名前:デフォルトの名無しさん (スプー Sdb8-ud2d) mailto:sage [2016/06/08(水) 11:07:13.50 ID:T7O01KYMd.net] >>82 →83 の流れが理解できない
88 名前:デフォルトの名無しさん (ワッチョイ fe9f-py2h) mailto:sage [2016/06/08(水) 11:37:47.11 ID:2gdEHtFT0.net] 引数部分をラムダ関数自体と解釈するか 比較関数に対する引数と解釈するかで食い違ってるからな
89 名前:デフォルトの名無しさん (スプー Sdb8-ud2d) mailto:sage [2016/06/08(水) 11:56:16.88 ID:T7O01KYMd.net] >>85 >比較関数に対する引数と解釈するか それってなんすか?
90 名前:デフォルトの名無しさん (ブーイモ MMb8-ud2d) mailto:sage [2016/06/08(水) 13:10:05.76 ID:IzbVLKR1M.net] >>84 そもそも>>82 は何が不明なのか理解できたのなら教えてくれ
91 名前:デフォルトの名無しさん (スプー Sdb8-ud2d) mailto:sage [2016/06/08(水) 14:10:25.42 ID:T7O01KYMd.net] >>87 いや俺は>>82 と>>83 と>>85 が何を言っているのか全くわからない
92 名前:デフォルトの名無しさん (スプー Sdb8-ud2d) mailto:sage [2016/06/08(水) 14:26:38.03 ID:cIBTG1hgd.net] 例えば、std::vector<int>型の配列a[0]〜a [10]までの各要素に、それぞれ1〜10が代入されていたとき、 std::sort(a.begin(), a.end(), [](int& a1, int& a2) { return a1 > a2; }); を実行すると降順にソートされる。 このとき、a1とa2に配列内の数値が渡っている理由がよくわからない、という意味です。 初歩的な質問ですがお願いします。
93 名前:デフォルトの名無しさん (スプー Sdc8-ud2d) [2016/06/08(水) 14:33:06.87 ID:3qc7Gxwcd.net] なんだよ理由がわからないって
94 名前:デフォルトの名無しさん (ガラプー KK5f-pkX1) mailto:sage [2016/06/08(水) 14:38:00.60 ID:NAh8v38DK.net] >>89 テンプレート関数std::sortが呼ぶから。
95 名前:デフォルトの名無しさん (ワッチョイ fc7b-pivs) mailto:sage [2016/06/08(水) 14:40:22.22 ID:lMpdbKpY0.net] >>89 std::sortがそういう風に実装されているからだよ ところで >配列a[0]〜a[10]までの各要素に、それぞれ1〜10が代入されていたとき、 a[0]〜a[10]の要素数は11あるってことはOK?
96 名前:デフォルトの名無しさん (スプー Sdb8-ud2d) mailto:sage [2016/06/08(水) 14:45:41.43 ID:cIBTG1hgd.net] >>91 >>92 そうだったのですか、ありがとうございます。 a[10]はa[9]の間違いでした。申し訳ないです。
97 名前:デフォルトの名無しさん (オッペケ Sr89-ud2d) mailto:sage [2016/06/08(水) 18:18:51.66 ID:Ay2NYYowr.net] >>88 は健常者 >>92 はアスペ
98 名前:デフォルトの名無しさん (ワッチョイ 8063-ud2d) mailto:sage [2016/06/08(水) 23:17:00.92 ID:dY3DVg900.net] >>88 83「イテレーターをデリファレンスして要素の左辺値を取り出しているからとしか言いようが無い」 85「『引数部分に要素』の『引数』をラムダ式のコンパレーターと解釈するか、比較関数が受け取る引数と解釈するか」 つまり83と85はアフォ
99 名前:デフォルトの名無しさん (ワッチョイ bb7b-Xj17) mailto:sage [2016/06/09(木) 21:39:41.69 ID:9GK5WJKb0.net] c++ってこういうくだらない議論を延々やってる印象。
100 名前:デフォルトの名無しさん (ワッチョイ bb02-7xHu) mailto:sage [2016/06/09(木) 21:55:03.39 ID:/Mjso7pS0.net] 2chだから
101 名前:デフォルトの名無しさん (アウアウ Sa97-jNGR) mailto:sage [2016/06/09(木) 22:02:44.30 ID:W5VdNr2fa.net] 他の言語のスレではこんなんないし c++がややこしいんじゃね
102 名前:デフォルトの名無しさん (ワッチョイ d763-jNGR) mailto:sage [2016/06/10(金) 00:14:56.84 ID:ksaxsahD0.net] >配列内の数値が渡っている理由がよくわからない ↓ >そういう風に実装されているからだよ >何で引数部分に 要 素 が 渡されるのか ↓ >引数部分をラムダ関数自体と解釈するか >このとき、a1とa2に配列内の数値が渡っている理由がよくわからない ↓ >なんだよ理由がわからないって 言語の問題じゃなくて回答者のオツムに問題が有るのではないか
103 名前:デフォルトの名無しさん (ワッチョイ bb02-7xHu) mailto:sage [2016/06/10(金) 00:39:25.40 ID:I1Owsl6u0.net] こういうところが2chが役に立たない理由
104 名前:デフォルトの名無しさん (ワッチョイ bb7b-6mPp) [2016/06/10(金) 01:09:42.25 ID:X0D45aWY0.net] どういうところが役に立つの?
105 名前:デフォルトの名無しさん (ワッチョイ fbdc-0TCb) mailto:sage [2016/06/10(金) 06:19:15.40 ID:CWxeJNTw0.net] プログラム板の全スレッドを見てるわけではないけど、 C++関連のスレッドは攻撃的な口調の書き込みが多いと感じる。 実務でよほどストレスの溜まる言語なのか、 そういう芸風の有名サイトあたりを模倣しているのか。
106 名前:デフォルトの名無しさん (ワッチョイ eb42-jNGR) mailto:sage [2016/06/10(金) 06:30:10.15 ID:w7JbxUjA0.net] 厳格でない事を許容できる人しか他の言語を使わないからじゃないの?
107 名前:デフォルトの名無しさん (ワッチョイ 8b3c-drwA) [2016/06/10(金) 06:37:36.55 ID:BRIl1zRc0.net] GLRが厳格とな?
108 名前:デフォルトの名無しさん (ワッチョイ 0742-jNGR) mailto:sage [2016/06/10(金) 06:41:42.38 ID:7AG0Olzm0.net] 2chだからそれが普通だって思いこんでるんだろう。 ところで厳格でない言語ってなによ?
109 名前:デフォルトの名無しさん (ワッチョイ 4fc0-W0AP) mailto:sage [2016/06/10(金) 06:57:03.07 ID:gztLLW9m0.net] MSDNのC++フォーラムはMVPの常連も回答もせず質問の仕方が悪いと文句書き込みばかりになってて見るのやめてしまった 久しぶりに見てみたらまだやってた
110 名前:デフォルトの名無しさん (ワッチョイ 8b3c-drwA) [2016/06/10(金) 07:00:48.79 ID:BRIl1zRc0.net] 逆に厳格な言語として有名だったのはJavaだな。 今でもそうなのかはわからんが。
111 名前:デフォルトの名無しさん (ワッチョイ 8b3c-drwA) [2016/06/10(金) 07:01:41.84 ID:BRIl1zRc0.net] さらに厳格なのはXMLだろうな。 プログラミング言語ではないが。
112 名前:デフォルトの名無しさん (ワッチョイ 9f13-Srpw) mailto:sage [2016/06/10(金) 07:14:29.29 ID:lJsEyLcp0.net] >>107 PASCAL だね,厳格なのは
113 名前:デフォルトの名無しさん (ワッチョイ bb7b-Xj17) mailto:sage [2016/06/10(金) 09:07:17.45 ID:ODD2XRmk0.net] 規格はあるけど、実際はコンパイラ依存ってのが現実だからな。
114 名前:デフォルトの名無しさん (ワッチョイ 8b3c-drwA) [2016/06/10(金) 09:17:57.24 ID:BRIl1zRc0.net] だがしかし。 C++はヘロモンがある。
115 名前:デフォルトの名無しさん (ワッチョイ bb7b-6mPp) [2016/06/10(金) 10:35:55.57 ID:X0D45aWY0.net] 他の言語はデファクトスタンダードな実装が一つ存在してそれ以外は亜種みたいなものだからコンパイラ依存とか目立たないだけ
116 名前:デフォルトの名無しさん (ワッチョイ 9f7d-iLHn) [2016/06/10(金) 12:39:46.00 ID:yu98+dTQ0.net] >107,109 ALGOL60を忘れてはいませんか
117 名前:デフォルトの名無しさん (アウアウ Sa97-jNGR) mailto:sage [2016/06/10(金) 15:26:39.37 ID:rJIdiI/ka.net] c/c++ってパソコンでもスパコンでもマイコンでも普通によく使われるんだよね そう考えるとすごいな
118 名前:デフォルトの名無しさん (ワッチョイ 9f13-Srpw) mailto:sage [2016/06/10(金) 19:28:05.13 ID:lJsEyLcp0.net] fortran には負けるでしょう
119 名前:デフォルトの名無しさん (ワッチョイ 077b-hSzB) mailto:sage [2016/06/10(金) 19:36:38.72 ID:nozgnbXX0.net] プッ
120 名前:デフォルトの名無しさん (ワッチョイ bb02-7xHu) mailto:sage [2016/06/10(金) 19:37:13.14 ID:I1Owsl6u0.net] 老人の研究者しか使ってない
121 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ffa8-7xHu) mailto:sage [2016/06/10(金) 23:06:31.17 ID:eGOSJwN50.net] スパコンではまだ Fortran は強いみたい。 並列化で性能が出しやすいって聞くね。
122 名前:デフォルトの名無しさん (ワッチョイ bb91-jNGR) mailto:sage [2016/06/10(金) 23:43:29.61 ID:dWFrFI9c0.net] インテル公式コンパイラは、C++とFortran
123 名前:デフォルトの名無しさん (アウアウ Sa97-AHtr) mailto:sage [2016/06/11(土) 01:21:59.05 ID:Ga1z+Yika.net] なぜcolumn majorにしなかったのか
124 名前:デフォルトの名無しさん (ワッチョイ 077b-hSzB) mailto:sage [2016/06/11(土) 01:45:24.37 ID:hLugldX80.net] 頭悪いから
125 名前:デフォルトの名無しさん (ワッチョイ eb4a-W0AP) mailto:sage [2016/06/11(土) 05:35:44.69 ID:i2XIvuGx0.net] >>102 有名サイトとはどこ?
126 名前:デフォルトの名無しさん (ワッチョイ bb02-7xHu) mailto:sage [2016/06/11(土) 10:47:15.03 ID:LO2ooV2u0.net] >>122 自由ソフトウェア(笑)でググれ
127 名前:デフォルトの名無しさん (ワッチョイ bb7b-Xj17) mailto:sage [2016/06/11(土) 12:43:48.69 ID:JwbsVpE70.net] コードをかかないc++er だからなw あれで普及すると思ってる方がどうかしてるw 結局、言語を普及させるのはスーパーなフレームワークやライブラリの実装だってのに。
128 名前:デフォルトの名無しさん (ワッチョイ 57c9-jNGR) mailto:sage [2016/06/11(土) 13:19:22.77 ID:zSGsCTOB0.net] しっ!いま喋ってるから!
129 名前:デフォルトの名無しさん (ワッチョイ cf42-rvcI) [2016/06/11(土) 22:44:22.60 ID:scKw0KYu0.net] Smalltalkみたいにか
130 名前:デフォルトの名無しさん (ワッチョイ 503c-4fuR) mailto:sage [2016/06/17(金) 06:02:11.26 ID:r/nICHre0.net] 質問です ideone.com/KkRt8T 上記のコードがVC2015でもideoneでも、ちゃんと特殊化バージョンが呼ばれるのですが Apple LLVM上のコンパイラだと、どちらも非特殊化バージョンしか呼ばれません (fuga構造体を外に出すとちゃんと特殊化バージョンが呼ばれる) 規格に詳しくないのですが、自分は
131 名前:上記のコードは特殊化バージョンが呼ばれるのが正しいですよね? [] [ここ壊れてます]
132 名前:デフォルトの名無しさん (ワッチョイ 503c-4fuR) mailto:sage [2016/06/17(金) 06:03:18.17 ID:r/nICHre0.net] すみません消した文と混ざってしまいましたorz X自分は上記のコードは特殊化バージョンが呼ばれるのが正しいですよね? ○上記のコードは特殊化バージョンが呼ばれるのが正しいですよね?
133 名前:デフォルトの名無しさん (ワッチョイ 7063-qS7w) mailto:sage [2016/06/17(金) 07:38:13.23 ID:5HmA4kNf0.net] nullptr_tを特別扱いするというルールは規格に見あたらないな 疲れているんだろうきっと melpon.org/wandbox/permlink/2sZw4nuTJgUPZmxE
134 名前:デフォルトの名無しさん (ワッチョイ 503c-4fuR) mailto:sage [2016/06/17(金) 09:03:05.45 ID:r/nICHre0.net] すみません、wandboxなら再現できたんですね やっぱり汎化バージョンが呼ばれますよね・・・・バグなのかなぁ まぁ回避できるので実用上は大丈夫なんですが
135 名前:デフォルトの名無しさん (ワッチョイ 30cd-sEca) mailto:sage [2016/06/20(月) 00:28:37.00 ID:6+h2eBKY0.net] 例外処理というのがいまいちわかりません。 例外が発生する箇所をtry{}で囲い・・・と説明がありますが そもそも例外が発生するとわかっていれば、それを根絶するように 修正すべきなのでは?と思ってしまいます どのような局面で有益なのでしょうか?
136 名前:デフォルトの名無しさん (ワッチョイ 300b-qS7w) mailto:sage [2016/06/20(月) 00:45:19.22 ID:KuHDgHp40.net] たとえばcのmallocはメモリ確保に失敗するとnullを返すけど c++のnewはbad_allocを投げるでしょ なんかの処理に失敗したことを伝えたい時は戻り値でなく例外で伝えた方が失敗への対処を呼び出し元に強いれるからいいんだよ
137 名前:デフォルトの名無しさん (ワッチョイ 300b-qS7w) mailto:sage [2016/06/20(月) 00:52:11.12 ID:KuHDgHp40.net] ていうかtryで囲わなければ例外を関数の呼び出し元に伝えられることを理解してないのかな
138 名前:デフォルトの名無しさん (ワッチョイ c602-4fuR) mailto:sage [2016/06/20(月) 01:00:55.02 ID:dcxG8b1i0.net] 処理の失敗をif文で判定する代わりに使ってるだけだ
139 名前:デフォルトの名無しさん (ワッチョイ 30cd-sEca) mailto:sage [2016/06/20(月) 01:08:00.57 ID:6+h2eBKY0.net] >>133 理解できてないから質問してんだろ バカですか?
140 名前:デフォルトの名無しさん (アウアウ Sac5-qS7w) mailto:sage [2016/06/20(月) 01:26:46.05 ID:RqtufBmpa.net] なんだコイツ…
141 名前:デフォルトの名無しさん (ワッチョイ c602-4fuR) mailto:sage [2016/06/20(月) 01:31:27.40 ID:dcxG8b1i0.net] 原理的なところはとりあえずほっておこう こんな処理があるとする //成功するか失敗するか分からない処理 if( funcA() ) goto ERROR; if( funcB() ) goto ERROR; if( funcC() ) goto ERROR; 正常処理 return 1; ERRPR: 異常処理 return 0;. これが こう書けたらいいだろ try{ funcA(); funcB(); funcC(); 正常処理 }catch(...){ 異常処理 return 0; }
142 名前:デフォルトの名無しさん (ワッチョイ c602-4fuR) mailto:sage [2016/06/20(月) 01:33:39.48 ID:dcxG8b1i0.net] 訂正 if( !funcA() ) goto ERROR; if( !funcB() ) goto ERROR; if( !funcC() ) goto ERROR;
143 名前:デフォルトの名無しさん (ワッチョイ 30cd-sEca) mailto:sage [2016/06/20(月) 02:00:21.02 ID:6+h2eBKY0.net] >>137 tryで書き直したとして、問題は解決しないですよね。 失敗していることを修正すべきでは?
144 名前:デフォルトの名無しさん (ワッチョイ c63c-LK9o) mailto:sage [2016/06/20(月) 02:16:46.53 ID:IovGZCSW0.net] メモリ不足とか領域破壊とか、当該コードからじゃ修正のしようがない問題があってね。
145 名前:デフォルトの名無しさん (ワッチョイ c602-4fuR) mailto:sage [2016/06/20(月) 02:20:12.88 ID:dcxG8b1i0.net] >>139 どうやっても成功するか失敗するか分からない処理ってあるだろ? 外部とやり取りするときとか 例えば とあるファイルを読み込んで処理する関数があるとする でもそのファイルが無ければ処理は失敗する ほかにもアクセス制限がかかっていたりファイルの中身が壊れていたりとかね その場合0を返すか例外を投げて呼び出しもとで対処する そういった絶対に100%成功する保証が無い処理っていうのはいくらでもある メモリが断片化しすぎて確保できないとか 外部のサーバとの通信に失敗したとか ハードが壊れてたとか プログラム側からはどうしようもないからといっていきなり終わらせるのは間違い、失敗なら失敗なりにちゃんとした手続きをして終わるか処理を続行しなければいけない 例えば信号
146 名前:@のプログラムだとかは何かエラーが起こったとしてもなにがなんでも動き続けなければいけない その判断をするために例外処理があるわけ [] [ここ壊れてます]
147 名前:デフォルトの名無しさん (オッペケ Sr4d-qS7w) mailto:sage [2016/06/20(月) 02:20:13.62 ID:vlE7fe2Fr.net] 解決はcatchの中でするんだよ。
148 名前:デフォルトの名無しさん (ワッチョイ e5a2-qS7w) mailto:sage [2016/06/20(月) 02:27:46.60 ID:Nxz2d29B0.net] >>139 解決できるならそうすべきなのは君の言うとうり。 解決できないエラーを扱うから例外なんだよ。 メモリ足りないエラーなんて予測は出来ても解決できないでしょ?
149 名前:デフォルトの名無しさん (ワッチョイ 30cd-sEca) mailto:sage [2016/06/20(月) 03:04:40.98 ID:6+h2eBKY0.net] >>143 確保しようとしている量が、空きより多いのに、確保要求を出すことがそもそもの誤りなのでは?
150 名前:デフォルトの名無しさん (ワッチョイ c602-4fuR) mailto:sage [2016/06/20(月) 03:18:17.66 ID:dcxG8b1i0.net] >>144 出さないでどうすんの? どうやって目的を達成するわけ
151 名前:デフォルトの名無しさん (ワッチョイ 217b-4eJF) [2016/06/20(月) 03:18:18.04 ID:ZolMwWER0.net] で、仮に確保前に空き容量を確認するコードを書いたとして足りなかったらあなたはどうするの?
152 名前:デフォルトの名無しさん (ワッチョイ 30cd-sEca) mailto:sage [2016/06/20(月) 03:22:07.68 ID:6+h2eBKY0.net] 確保要求を出さない
153 名前:デフォルトの名無しさん (ワッチョイ e5a2-qS7w) mailto:sage [2016/06/20(月) 03:23:03.75 ID:Nxz2d29B0.net] >>144 ねえ? 実際プログラムしてみなよ。 自分の言ってる事の、ある種の矛盾に気付くとおもうから。
154 名前:デフォルトの名無しさん (ワッチョイ 30cd-sEca) mailto:sage [2016/06/20(月) 03:26:46.19 ID:6+h2eBKY0.net] >>148 コーティング前の話をしてるのに・・・ コーティングしてできなかったら、できないって結論なのですか?
155 名前:デフォルトの名無しさん (オッペケ Sr4d-qS7w) mailto:sage [2016/06/20(月) 03:50:50.84 ID:vlE7fe2Fr.net] 相談(?)内容がずれてる。 Cの戻り値でエラーを返すのと、C++の例外処理で、できることは変わらない。 いちいちifで戻り値を見るのがめんどうだから、throwで例外を投げて、まとめてcatchで受ける。それだけ。嫌ならifで戻り値をチェックすればいいし、エラーが100%おきないコードがかけるなら、エラー処理しなくていい。
156 名前:デフォルトの名無しさん (ワッチョイ 353c-6iFS) [2016/06/20(月) 04:01:47.75 ID:FhfmjeRD0.net] 殺して奪っても、働いて貯めても、金は金やで。
157 名前:デフォルトの名無しさん (ワッチョイ 353c-6iFS) [2016/06/20(月) 04:05:48.22 ID:FhfmjeRD0.net] スレッド間の例外転送について。
158 名前:デフォルトの名無しさん (ワッチョイ 217b-4eJF) [2016/06/20(月) 05:12:06.39 ID:ZolMwWER0.net] >>147 出さずにどうすんの? そこでプログラムは停止するの?
159 名前:デフォルトの名無しさん (アウアウ Sac5-OECi) mailto:sage [2016/06/20(月) 05:20:40.42 ID:tcHwD5YJa.net] ・自前の空き確認コードにより要求に足りないことが判明したので確保要求しない ・取り敢えず確保要求して断られた(例外) 両者は事実上同じでは?
160 名前:デフォルトの名無しさん (ワッチョイ 217b-4eJF) [2016/06/20(月) 05:37:11.98 ID:ZolMwWER0.net] >>154 厳密には同じじゃないけどな。事前に確認しても実際に要求出すまでの間に他のアプリによって空きが少なくなることもあるわけで
161 名前:デフォルトの名無しさん (アウアウ Sac5-OECi) mailto:sage [2016/06/20(月) 05:46:32.76 ID:tcHwD5YJa.net] なるほど。ではますます例外処理による対応を採った方が正しいわけですね
162 名前:デフォルトの名無しさん (ワッチョイ ab64-4fuR) mailto:sage [2016/06/20(月) 05:46:40.79 ID:7Cuehomz0.net] よし、CLIしよう
163 名前:デフォルトの名無しさん (ドコグロ MM5c-qS7w) mailto:sage [2016/06/20(月) 07:01:35.38 ID:A8kl/PgBM.net] >>155 > 事前に確認しても実際に要求出すまでの間に他のアプリによって空きが少なくなることもあるわけで プログラマーなら逆のケースを考えようよ
164 名前:デフォルトの名無しさん (ドコグロ MM5c-qS7w) mailto:sage [2016/06/20(月) 07:03:02.99 ID:A8kl/PgBM.net] >>155 すまん寝ぼけてた >>158 は撤回でお願い
165 名前:デフォルトの名無しさん (ワッチョイ e5a2-qS7w) mailto:sage [2016/06/20(月) 08:23:56.03 ID:Nxz2d29B0.net] >>149 そうじゃなくて、ここまでいろいろな説明されても腑に落ちないなら、実際試して実感してみーや?って事。 百聞は一見にしかずって事。
166 名前:デフォルトの名無しさん (ワッチョイ c602-4fuR) mailto:sage [2016/06/20(月) 08:38:24.54 ID:dcxG8b1i0.net] >>149 そもそも空き容量を調べて確保要求を出さないという判断をすることはエラー処理なんだが 君はおそらく混乱している
167 名前:デフォルトの名無しさん (ワッチョイ 7063-qS7w) mailto:sage [2016/06/20(月) 08:46:33.68 ID:Uj3W8dOJ0.net] >>144 そりゃ自プロセスの情報だけで命令の実行結果が予測できない局面が多いからな オペレーティングシステムの管理下で実行されるプログラムやハードウェアを制御するプログラムなら尚更
168 名前:デフォルトの名無しさん (アウアウ Sac5-qS7w) mailto:sage [2016/06/20(月) 09:11:03.03 ID:qnUK8Tcka.net] cでmallocとか使ってればifでいちいち失敗を判定するのがいかに面倒か経験してると思うんだよね c++に行く前にもっとcを経験すべきなんじゃない
169 名前:デフォルトの名無しさん (ワッチョイ 353c-qS7w) mailto:sage [2016/06/20(月) 11:33:59.56 ID:xokQvwUO0.net] C++をやる前にCを学ぶという発想が老害 老人はすぐに自分用の昔の苦労を他人に押しつけたがる
170 名前:デフォルトの名無しさん (ワッチョイ c602-4fuR) mailto:sage [2016/06/20(月) 12:31:29.07 ID:dcxG8b1i0.net] イミフ より簡単なところからやった方が苦労が少ないだろ
171 名前:デフォルトの名無しさん (アウアウ Sac5-OECi) mailto:sage [2016/06/20(月) 12:35:16.21 ID:jkugRtjka.net] ハハワロス
172 名前:デフォルトの名無しさん (ワッチョイ 8b9b-qS7w) mailto:sage [2016/06/20(月) 12:44:59.31 ID:zHRXCVwP0.net] C++の前にCを学ぶってのはいいと思うけど 面倒なのを経験しとけってのは老害の気がする
173 名前:デフォルトの名無しさん (ワッチョイ 0d7b-o3Bz) mailto:sage [2016/06/20(月) 12:50:07.90 ID:7O0ObdXP0.net] そんなに面倒だとは思わないけどな
174 名前:デフォルトの名無しさん (ワッチョイ 300b-qS7w) mailto:sage [2016/06/20(月) 13:15:41.54 ID:KuHDgHp40.net] >>167 だって質問者がc++追加機能の有用性が分からないから教えてっていうんだもん 少しは経験しないとそりゃ分からんじゃん?
175 名前:デフォルトの名無しさん (ワッチョイ 5c7b-NLZX) mailto:sage [2016/06/20(月) 13:30:48.11 ID:3NNTVW740.net] だよね mallocや*openのエラー処理のクソめんどくささを経験しないと例外の有り難みは分からんな
176 名前:デフォルトの名無しさん (ワッチョイ c6cc-qS7w) mailto:sage [2016/06/20(月) 14:55:54.01 ID:EjDa070W0.net] __try {} finally {} 最強
177 名前:デフォルトの名無しさん (ワッチョイ c6cc-qS7w) mailto:sage [2016/06/20(月) 14:58:03.48 ID:EjDa070W0.net] __try {} catch {} __finally {} 最強ヽ(^。^)丿
178 名前:デフォルトの名無しさん (ワッチョイ 7063-qS7w) mailto:sage [2016/06/20(月) 16:48:04.00 ID:Uj3W8dOJ0.net] 文盲が多いな。 >>131 は「それを根絶するように修正すべきなのでは」と言っているのだから 幾らエラー処理の楽さを説明したところで会話がかみ合っていない。 まず例外が何のための機能なのかを理解させる必要がある
179 名前:デフォルトの名無しさん (ワッチョイ c602-4fuR) mailto:sage [2016/06/20(月) 18:56:59.95 ID:dcxG8b1i0.net] 根絶できないということは既に示してあるだろう それを無視するならもはや学ぶ資格はない
180 名前:デフォルトの名無しさん (ワッチョイ 8317-LYlF) [2016/06/20(月) 19:34:32.13 ID:A1k1A+0q0.net] class AAA クラス名 {} とか見るけどAAAは何を意味しているのですか? AAAがあるとMINGWとかでDLLを作って利用しようとすると undefined referenceになってしまうのです
181 名前:デフォルトの名無しさん (ワッチョイ c602-4fuR) mailto:sage [2016/06/20(月) 20:05:46.83 ID:dcxG8b1i0.net] 何かのマクロ ヘッダに定義が書かれていないから見つからないと言われている
182 名前:175 (ワッチョイ 8317-LYlF) [2016/06/20(月) 20:37:59.87 ID:A1k1A+0q0.net] >>176 レスありがとう。 少し見てみたらただの空defineだった これがあってもコンパイルは通るしDLLも作れるのだけど 作ったDLLを使ってプログラムをコンパイルしようとするとエラーが出る この空defineをクラス宣言に組み込む意味がわからないのだけど・・・
183 名前:片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK01-H5Or) mailto:sage [2016/06/20(月) 20:52:58.62 ID:Iph33/KOK.net] そこには__declspec(dllimport)や__declspec(dllexport)を 指定することがアルネ
184 名前:デフォルトの名無しさん (オッペケ Sr4d-qS7w) mailto:sage [2016/06/20(月) 21:52:48.01 ID:mSxk+S8gr.net] 1024個のfloat配列を最速で昇順に並べたいのだけどどうしたらいい?
185 名前:デフォルトの名無しさん (ワッチョイ 353c-o3Bz) mailto:sage [2016/06/20(月) 21:54:46.94 ID:sBXZNPyY0.net] >>139 Objective-Cがまさにその思想で作られてる。 Objective-Cは例外処理は一応機能としてはあるけど 例外が起きたらクラッシュさせろという思想 (というかObjective-Cの例外処理は setjmp, longjmpで実装されているので、 例外が起きたらまずメモリリークするため 例外が起きた後実行し続けてはいけない) まぁJavaなんかはミッションクリティカル (クラッシュしてはいけない)サービスで 動かすことが多いので例外処理でガチガチに 固めないといけないが バッファオーバーランが日常茶飯事の C++で例外処理する意味はあまり無いわな
186 名前:デフォルトの名無しさん (ワッチョイ e5a2-qS7w) mailto:sage [2016/06/20(月) 21:58:57.96 ID:ySgS+Tc+0.net] >>179 とりあえずstd::sort
187 名前:デフォルトの名無しさん (ワッチョイ 7063-qS7w) mailto:sage [2016/06/20(月) 22:00:23.20 ID:Uj3W8dOJ0.net] >バッファオーバーランが日常茶飯事の C++で 個人的の日常をさも普遍的であるかのように語られても
188 名前:デフォルトの名無しさん (ワッチョイ c6cc-qS7w) mailto:sage [2016/06/20(月) 22:01:46.31 ID:sBhXM9Rw0.net] >>179 std::sort(&flt[0],&flt[102… あと自分で考えろ 学校の宿題じゃないよな?
189 名前:デフォルトの名無しさん (ワッチョイ 7063-qS7w) mailto:sage [2016/06/20(月) 22:07:48.28 ID:Uj3W8dOJ0.net] >>181 >>183 へー、そのstd::sort引数の『…』の部分をkwsk
190 名前:175 (ワッチョイ 8317-LYlF) mailto:sage [2016/06/20(月) 22:14:37.56 ID:A1k1A+0q0.net] >>178 レス有難う御座います Windows特有のものだったのか・・・
191 名前:デフォルトの名無しさん (ワッチョイ e5a2-qS7w) mailto:sage [2016/06/20(月) 23:07:52.06 ID:ySgS+Tc+0.net] float f[1024] = {…}; std::sort(begin(f), end(f)); って、この程度じゃね? 試してないけど。
192 名前:デフォルトの名無しさん (ワッチョイ 7063-qS7w) mailto:sage [2016/06/20(月) 23:16:15.40 ID:Uj3W8dOJ0.net] >>186 sortに実数は処理系依存で第三引数を指定しないと使えないと記憶していたが使えるの?
193 名前:デフォルトの名無しさん (ワッチョイ fc42-qS7w) mailto:sage [2016/06/20(月) 23:21:40.03 ID:o6DROSFS0.net] 実数のpredictorが処理系によって変なbool返すことなんかあるの?
194 名前:デフォルトの名無しさん (ワッチョイ 7063-qS7w) mailto:sage [2016/06/20(月) 23:34:48.91 ID:Uj3W8dOJ0.net] 多くの処理系ではfloatがstrict weak orderingを満たしていないので規定のoperator<は使えなかったような 少なくとも実態は↓ ideone.com/mvtCSo
195 名前:デフォルトの名無しさん (アウアウ Sac5-OECi) mailto:sage [2016/06/20(月) 23:36:46.58 ID:jkugRtjka.net] >>179 最速でと言っている以上、マルチコアプログラミング必須だろう。素人の質問ではない
196 名前:デフォルトの名無しさん (ワッチョイ 5c7b-NLZX) mailto:sage [2016/06/20(月) 23:39:33.18 ID:3NNTVW740.net] ぷっ
197 名前:デフォルトの名無しさん (ワッチョイ 5c7b-NLZX) mailto:sage [2016/06/20(月) 23:43:50.50 ID:3NNTVW740.net] こんな時間にわざわざナン食いたくなってきた
198 名前:デフォルトの名無しさん (ワッチョイ c602-4fuR) mailto:sage [2016/06/21(火) 00:01:38.49 ID:gNm/C6TY0.net] >>190 データの初期条件を書かない時点で素人
199 名前:デフォルトの名無しさん (ワッチョイ c6cc-qS7w) mailto:sage [2016/06/21(火) 00:08:13.00 ID:NNernMLQ0.net] >1024個のfloat配列 もうこの時点でカオス floatの配列が1024個あるんだろ?
200 名前:デフォルトの名無しさん (アウアウ Sac5-OECi) mailto:sage [2016/06/21(火) 00:11:07.05 ID:RCvb5i87a.net] 素人ぼく「なるほど」
201 名前:デフォルトの名無しさん (ワッチョイ c6cc-qS7w) mailto:sage [2016/06/21(火) 00:15:24.16 ID:NNernMLQ0.net] >>189 だったら候補から nan だけ remove_if で抹消しておけばいいだけの話だろ 今そういうチンケなミソカスなレベルの話をしているわけじゃない
202 名前:デフォルトの名無しさん (ワッチョイ e17b-dMW/) mailto:sage [2016/06/21(火) 00:15:58.24 ID:dI1rBvhw0.net] >>170 別にそういう面倒臭さはたいした事ないけどな。 問題は具体的なエラー処理をどの階層に統一的に記述するかってことで 例外処理は必要になるって話だろ。
203 名前:デフォルトの名無しさん (ワッチョイ 4d4a-P8Zx) mailto:sage [2016/06/21(火) 00:21:22.28 ID:TOLYnEfM0.net] >>179 最速のパソコンを使え
204 名前:デフォルトの名無しさん (ワッチョイ 7063-qS7w) mailto:sage [2016/06/21(火) 00:44:12.82 ID:2sqF1eLz0.net] >>196
205 名前:デフォルトの名無しさん (ワッチョイ 7063-qS7w) mailto:sage [2016/06/21(火) 00:44:58.41 ID:2sqF1eLz0.net] >>196 ほう、お前の妄想ではどういう話だったのかね? float配列をソートしたいという要求に対してstd::sortの前提条件を無視した或いは それを守るために必要な処理を省いたコードを教えるのは 質問者を陥れているようにしか見えないのだが
206 名前:デフォルトの名無しさん (ワッチョイ c6cc-qS7w) mailto:sage [2016/06/21(火) 00:59:39.29 ID:NNernMLQ0.net] >>200 うるせぇなオメェ 細かいことチマチマ指摘してんじゃねぇよ
207 名前:デフォルトの名無しさん (ブーイモ MMa8-qS7w) mailto:sage [2016/06/21(火) 01:02:46.90 ID:zxMwhnoQM.net] クレーマーには触っちゃダメ、絶対。 煽って答え出させて重箱の隅つつく人が常駐してるから気を付けてね
208 名前:デフォルトの名無しさん (ワッチョイ 5c7b-NLZX) mailto:sage [2016/06/21(火) 01:04:30.49 ID:94Qtn0uR0.net] >>200 そもそもnanを含んだ配列が>>189 みたくsortされるからって何? まずお前の「前提条件を満たしたコード」とやらを示せよこのタコ入道
209 名前:デフォルトの名無しさん (ワッチョイ 7063-qS7w) mailto:sage [2016/06/21(火) 01:35:46.23 ID:2sqF1eLz0.net] >>203 大小判定や同値判定を見誤るから、nan以外の相対関係もおかしくなる ideone.com/uhrfOg それに+0.0fが-0.0fより小さいように見えるのも望ましい結果ではないだろう >「前提条件を満たしたコード」とやらを示せよ めんどくさいから少し訂正させてくれ 「sortはstrict weak orderingが前提なのでfloatに対して使うべきものではない」
210 名前:デフォルトの名無しさん (ワッチョイ c6cc-qS7w) mailto:sage [2016/06/21(火) 01:47:57.49 ID:NNernMLQ0.net] >>204 sort 自体を否定するとか馬鹿だろお前
211 名前:デフォルトの名無しさん (ワッチョイ c602-4fuR) mailto:sage [2016/06/21(火) 02:14:30.77 ID:gNm/C6TY0.net] sortは細かい判定条件をラムダ式でいじって使うもんだぞ
212 名前:デフォルトの名無しさん (ワッチョイ 7063-qS7w) mailto:sage [2016/06/21(火) 02:22:43.63 ID:2sqF1eLz0.net] いやまったくだな >>187 の時点でその話をしようとしたら通じなかったので、 既定のコンパレーター版に絞ろうと話を端折ったら 「sort自体を否定」とかよくわからんことを言い出す奴がいて驚きだ
213 名前:デフォルトの名無しさん (ワッチョイ 0130-QNxj) mailto:sage [2016/06/21(火) 02:27:25.77 ID:8zVH+zTl0.net] ほおらみんな大好き規格だよ 文面そのものしか理解できない人には 文の意味するところを正しく理解するのは難しいのかなあ? > 25 Algorithms library > 25.5 Sorting and related operations > p3 For all algorithms that take Compare, there is a version that uses operator< instead. That is, comp(*i, *j) > != false defaults to *i < *j != false. For algorithms other than those described in 25.5.3, comp shall > induce a strict weak ordering on the values.
214 名前:デフォルトの名無しさん (ワッチョイ c6cc-qS7w) mailto:sage [2016/06/21(火) 02:34:58.24 ID:NNernMLQ0.net] >>207 お前さ、重要なところ短縮して英訳しているくせに開きなおんなよ
215 名前:デフォルトの名無しさん (ワッチョイ c6cc-qS7w) mailto:sage [2016/06/21(火) 02:36:11.68 ID:NNernMLQ0.net] 英訳じゃない和訳だな
216 名前:デフォルトの名無しさん (ワッチョイ c6cc-qS7w) mailto:sage [2016/06/21(火) 02:40:01.85 ID:NNernMLQ0.net] オメェみたいな短縮和訳馬鹿が居るからおかしな文献が巷を占領して間違った知識が日本人に定着してんだろがドアホ
217 名前:デフォルトの名無しさん (ワッチョイ 30cf-UcEt) mailto:sage [2016/06/21(火) 03:16:59.11 ID:t1Pm//IA0.net] >>204 おかしくなるのは配列がnanを含んだ場合だけでしょ? nanを含まないfloat配列には使えるんだから 「sortはstrict weak orderingが前提なのでfloatに対して使うべきものではない」とまでは 言えない(一般化はできない)のでは?
218 名前:デフォルトの名無しさん (ワッチョイ abe7-wM7A) mailto:sage [2016/06/21(火) 05:12:42.68 ID:fPQg0ArG0.net] ideone.com/oDnBxH VCだと動くんだけどなー。 gをdにできる人いる? とりあえず暇だったから無駄な努力してみたんだけど。
219 名前:デフォルトの名無しさん (ワッチョイ 7063-qS7w) mailto:sage [2016/06/21(火) 08:10:40.25 ID:2sqF1eLz0.net] >>212 >>208 にあるように『on the values.』だから、対象の配列に変な値が入っていなければOKと言うことになるな だがfloat計算で値がNaNになることは通常だし、一般化の観点では(可能性が排除されていない以上)駄目かと
220 名前:デフォルトの名無しさん (アウアウ Sac5-77//) mailto:sage [2016/06/21(火) 08:19:52.07 ID:UGnXUd83a.net] 速度は boost::optional >> 例外
221 名前:デフォルトの名無しさん (ワッチョイ 353c-qS7w) mailto:sage [2016/06/21(火) 17:59:51.47 ID:oDvUiKTs0.net] クソスレ
222 名前:デフォルトの名無しさん (ササクッテロ Sp4d-ntlg) mailto:sage [2016/06/21(火) 20:30:30.31 ID:/2xf0llxp.net] そんなこと言いつつどうせ nanがでないことが明らかな状況ならコンパレータなしのstd::sort使うでしょ
223 名前:デフォルトの名無しさん (ワッチョイ 5c7b-NLZX) mailto:sage [2016/06/21(火) 21:34:53.54 ID:94Qtn0uR0.net] まあ場合にもよるだろうけどnanがある時点で普通はバグだわな(>>214 にとっては通常みたいだけどw) そんなものをソートするなんて気が狂ってる [] [ここ壊れてます]
225 名前:デフォルトの名無しさん (ワッチョイ c602-4fuR) mailto:sage [2016/06/21(火) 21:44:13.59 ID:gNm/C6TY0.net] そういえば-0.0を判定する方法ってある?
226 名前:デフォルトの名無しさん (ワッチョイ 7063-qS7w) mailto:sage [2016/06/21(火) 21:47:37.24 ID:2sqF1eLz0.net] >>219 多分 v==0.0 && std::signbit(v)//#include<cmath>
227 名前:デフォルトの名無しさん (ワッチョイ 7063-qS7w) mailto:sage [2016/06/21(火) 21:49:07.39 ID:2sqF1eLz0.net] signbitはマクロなのでstd::が付かないかもしれない
228 名前:デフォルトの名無しさん (ブーイモ MMa8-qS7w) mailto:sage [2016/06/21(火) 21:55:32.01 ID:/+hzxGEKM.net] (*(uint*)&val) != 0x80000000u とかかしら…
229 名前:デフォルトの名無しさん (ワッチョイ 7063-qS7w) mailto:sage [2016/06/21(火) 21:56:39.53 ID:2sqF1eLz0.net] signbitはCではマクロだったがC++は関数だった。まあいいか
230 名前:デフォルトの名無しさん (ワッチョイ c602-4fuR) mailto:sage [2016/06/21(火) 21:59:14.02 ID:gNm/C6TY0.net] >>220 なるほどな 0でもちゃんと判定してくれるんだな
231 名前:デフォルトの名無しさん (アウアウ Sac5-OECi) mailto:sage [2016/06/22(水) 00:09:44.23 ID:lhXu2xXYa.net] >>222 とかかしらってなんだよ。男らしくないな。〜かしらなんて言う男は俺はのび太以外知らねえ!
232 名前:デフォルトの名無しさん (ワッチョイ c6cc-qS7w) mailto:sage [2016/06/22(水) 03:30:25.04 ID:L68kwCJ00.net] >>223 オメェしつけぇんだよ いつまでグダグダ言ってんだよ
233 名前:デフォルトの名無しさん (ワッチョイ abe7-wM7A) mailto:sage [2016/06/22(水) 03:46:51.38 ID:BIlbzxem0.net] いらいらすんなよ。
234 名前:デフォルトの名無しさん (ワッチョイ b1dc-5rjR) mailto:sage [2016/06/22(水) 07:30:18.83 ID:cwQouqrz0.net] 文末が「〜かしら」になってるのは 投稿者が女性だと思えばいいんじゃないかしら。
235 名前:デフォルトの名無しさん (ワッチョイ abe7-wM7A) mailto:sage [2016/06/22(水) 08:15:41.55 ID:BIlbzxem0.net] かしらかしらごぞんじかしら。
236 名前:デフォルトの名無しさん (ワッチョイ e5a2-qS7w) mailto:sage [2016/06/22(水) 08:16:50.88 ID:QJLicZbi0.net] なるほど、かしら。
237 名前:デフォルトの名無しさん (ワッチョイ 7063-qS7w) mailto:sage [2016/06/22(水) 08:21:11.24 ID:uS7mSXVf0.net] >>226 いや失礼したこれはすまんな ところで昨日の>>211 は何だったんだ? 「和訳」とか「文献が巷を占領」とか「日本人に定着」とか、何を言っているのかさっぱり理解できなかった
238 名前:デフォルトの名無しさん (アウアウ Sac5-OECi) mailto:sage [2016/06/22(水) 09:13:55.09 ID:lhXu2xXYa.net] 2chに女は居ない。
239 名前:デフォルトの名無しさん (ワッチョイ 30cd-sEca) mailto:sage [2016/06/22(水) 09:57:23.70 ID:0rcNr1i50.net] 女は2chに居ない だろ
240 名前:デフォルトの名無しさん (ワッチョイ 30cd-sEca) mailto:sage [2016/06/22(水) 09:58:08.40 ID:0rcNr1i50.net] >>228 エピの可能性あるんじゃないかしらん?
241 名前:デフォルトの名無しさん (ワッチョイ c342-4fuR) mailto:sage [2016/06/22(水) 10:02:29.02 ID:S4ISOPGK0.net] 鬼女板行ってみれ
242 名前:デフォルトの名無しさん (ワッチョイ c6cc-qS7w) mailto:sage [2016/06/22(水) 12:38:37.12 ID:L68kwCJ00.net] >>231 それ理解できないなら貴様の頭が相当弱いってことだ
243 名前:デフォルトの名無しさん (ワッチョイ b1a5-o3Bz) mailto:sage [2016/06/22(水) 22:11:47.41 ID:1pVyv3ep0.net] 俺、女だよ
244 名前:デフォルトの名無しさん (ワッチョイ b7cb-jO4j) [2016/06/23(木) 22:29:59.26 ID:GIAI+oE/0.net] std::tuple< std::string&& > a( std::string( "aaaaaaaa" ) ); std::cout << std::get< 0 >( a ) << std::endl; とやると何も出力されません何故ですか vc2015です
245 名前:デフォルトの名無しさん (ワンミングク MMcf-gJJb) mailto:sage [2016/06/23(木) 22:41:10.07 ID:/04P5n9zM.net] stringの寿命がつきてるから
246 名前:デフォルトの名無しさん (ワッチョイ 4742-gJJb) mailto:sage [2016/06/24(金) 00:09:11.65 ID:y9xGd3/D0.net] return std::move(obj); って意味ある? NRVOが阻害されるだけで使いみちない気がするんだけどイマイチ理解してない
247 名前:デフォルトの名無しさん (ワッチョイ efb5-gJJb) mailto:sage [2016/06/24(金) 00:30:41.47 ID:lIQqToSu0.net] >>240 objがNRVOの働かない変数や右辺値扱いされないID式の時には役に立つ可能性が否定できないかも知れない
248 名前:デフォルトの名無しさん (ワッチョイ ef02-jO4j) mailto:sage [2016/06/24(金) 02:10:21.14 ID:jii+zZf10.net] >>240 それにしかできないことはreturnのタイミングで寿命が尽きない変数に対してmoveが使えること クラスのメンバ、グローバル変数、ラムダ式のキャプチャした変数、参照渡しした変数とかに対してmoveが使える 使い道はメンバの値を取り出して初期化する関数とかくらい
249 名前:オか思いつかない [] [ここ壊れてます]
250 名前:デフォルトの名無しさん (ワッチョイ ef02-jO4j) mailto:sage [2016/06/24(金) 02:14:28.75 ID:jii+zZf10.net] あとNRVOが実装されてないクソコンパイラで使える
251 名前:デフォルトの名無しさん (ワッチョイ 9b7b-LLnp) [2016/06/24(金) 03:12:50.77 ID:KfxfBd4P0.net] moveまで実装しつつNVROに対応してないなんてコンパイラ存在しないと思うけどな
252 名前:デフォルトの名無しさん (オッペケ Srb7-gJJb) mailto:sage [2016/06/24(金) 10:38:43.01 ID:6KaoEWJir.net] >>243 NRVOの無いコンパイラーだと move有り無しでどう違うのかkwsk
253 名前:デフォルトの名無しさん (スプー Sd8f-gJJb) mailto:sage [2016/06/24(金) 11:44:52.91 ID:ryEKZAMad.net] そりゃコピコンが動くのかどうかなんじゃないの?
254 名前:デフォルトの名無しさん (オッペケ Srb7-gJJb) mailto:sage [2016/06/24(金) 12:11:06.09 ID:6KaoEWJir.net] 幾ら何でもC++の規格はそこまでマヌケではない
255 名前:デフォルトの名無しさん (スプー Sd8f-gJJb) mailto:sage [2016/06/24(金) 12:20:13.47 ID:ryEKZAMad.net] >>247 必ずしも関数スコープ内ローカル変数のreturnに限定した話ではないので
256 名前:デフォルトの名無しさん (アウアウ Sa77-X2hC) mailto:sage [2016/06/24(金) 13:19:14.55 ID:/3QNO0r0a.net] c++を開発したって言われてる、ビャーネは具体的には何を作ったの? コンパイラ?
257 名前:デフォルトの名無しさん (スプー Sd8f-gJJb) mailto:sage [2016/06/24(金) 13:33:28.97 ID:ryEKZAMad.net] >>249 ユニコード
258 名前:デフォルトの名無しさん (ワッチョイ 1b7b-iWcA) mailto:sage [2016/06/24(金) 14:29:13.01 ID:gUVe9uqS0.net] >>249 cfront
259 名前:デフォルトの名無しさん (JP 0H57-kDJ5) mailto:sage [2016/06/24(金) 21:22:59.63 ID:RKgBQkvWH.net] >>249 つ wikipedia
260 名前:デフォルトの名無しさん (ワッチョイ c70f-/9v5) [2016/06/24(金) 22:10:53.49 ID:3kZY+ixW0.net] >>249 ARM
261 名前:デフォルトの名無しさん (ワッチョイ 4b54-gJJb) mailto:sage [2016/06/25(土) 00:29:09.66 ID:PnL04P5G0.net] >>249 ハゲの尊厳n
262 名前:デフォルトの名無しさん (アウアウ Sa77-X2hC) mailto:sage [2016/06/25(土) 16:30:56.22 ID:WM8etTyAa.net] Windows10もcで書かれてるの? それともc++?
263 名前:デフォルトの名無しさん (ワッチョイ ef02-jO4j) mailto:sage [2016/06/25(土) 16:40:59.75 ID:ns4573pb0.net] 両方
264 名前:デフォルトの名無しさん (ワッチョイ 7b75-/9v5) [2016/06/25(土) 21:48:59.88 ID:oRr2IVma0.net] NTはデフォC++でそ
265 名前:デフォルトの名無しさん (ワッチョイ 1f13-msxm) mailto:sage [2016/06/25(土) 22:34:46.29 ID:mLaPN0S30.net] >>257 win32api を C++ で実装するのは大変なのでは?
266 名前:デフォルトの名無しさん (ワッチョイ 7b75-/9v5) [2016/06/25(土) 23:04:55.63 ID:oRr2IVma0.net] >>258 いいえ全然。 extern "C" これだけですよ、これだけ。
267 名前:デフォルトの名無しさん (ワッチョイ fb7b-jO4j) mailto:sage [2016/06/25(土) 23:18:54.37 ID:Mfi8L5BO0.net] stdcall
268 名前:デフォルトの名無しさん (アウアウ Sa77-X2hC) mailto:sage [2016/06/25(土) 23:29:51.21 ID:9ZjTEfbPa.net] >>259 c++を勉強しようね
269 名前:デフォルトの名無しさん (ワッチョイ 43e7-vrBh) mailto:sage [2016/06/26(日) 00:17:48.35 ID:ifKGTnOo0.net] windows.hの各種定数をenumclassに書き換えたい衝動に狩られることがある。
270 名前:デフォルトの名無しさん (ワッチョイ 7b75-/9v5) [2016/06/26(日) 11:20:18.79 ID:9EK0IVkl0.net] LPなんちゃらを殲滅したい衝動にかられる
271 名前:デフォルトの名無しさん (ワッチョイ ef02-jO4j) mailto:sage [2016/06/26(日) 13:38:19.19 ID:UMVeVI2s0.net] 何でマイクロソフトは読みやすくなるわけでもないのにtypedefしまくってるんだ
272 名前:デフォルトの名無しさん (ワッチョイ efcc-gJJb) mailto:sage [2016/06/26(日) 13:55:36.80 ID:lLkVzKIc0.net] C言語との互換性
273 名前:デフォルトの名無しさん (ドコグロ MM17-gJJb) mailto:sage [2016/06/26(日) 13:58:45.19 ID:qLHqrl/uM.net] 別に読みやすくするため(だけ)に typedef する訳じゃないし
274 名前:デフォルトの名無しさん (JP 0H57-kDJ5) mailto:sage [2016/06/26(日) 14:28:28.09 ID:0+Or/a+eH.net] 16bit -> 32bit の以降の時の遺物だろう ひょっとしたら Alpha とかサポートしてた時の都合かもしれんが
275 名前:デフォルトの名無しさん (ワッチョイ aba2-gJJb) mailto:sage [2016/06/26(日) 14:52:30.99 ID:s81Ug6VY0.net] そして今、 32bit -> 64bit で同様にいろいろ変更されている。 …しかし、わざわざ中身の型の方に依存した書き方をしてしまった人が多かったものだから阿鼻叫喚という。
276 名前:デフォルトの名無しさん (ワッチョイ fb51-SJKp) mailto:sage [2016/06/26(日) 14:58:27.80 ID:xlZVWDWM0.net] *STRなんかは静的解析でNULターミネートされていない可能性を検出してくれたりもする。
277 名前:デフォルトの名無しさん (ワッチョイ 9b7b-LLnp) [2016/06/2
] [ここ壊れてます]
278 名前:6(日) 16:56:44.66 ID:Rc5W3RoT0.net mailto: 最近発表したChecked Cで…って事なんかな? [] [ここ壊れてます]
279 名前:デフォルトの名無しさん (ワッチョイ 1f13-msxm) mailto:sage [2016/06/26(日) 17:50:05.24 ID:cK3U3ti80.net] >>259 いやいや,中身をC++で書いているのに,外皮だけCのインターフェースにするなんて出来ないのでは?デストラクタとかどうするの?
280 名前:デフォルトの名無しさん (ワッチョイ eb3c-wRvM) [2016/06/26(日) 17:52:03.24 ID:8klNB0Ny0.net] 自分で呼ぶしかありませんね。
281 名前:デフォルトの名無しさん (ワッチョイ 6f9f-6XJa) mailto:sage [2016/06/26(日) 17:58:33.26 ID:720vsR4T0.net] CloseHandle のような後始末のインターフェースがあれば問題ない
282 名前:デフォルトの名無しさん (ワッチョイ 1f13-msxm) mailto:sage [2016/06/26(日) 18:04:00.80 ID:cK3U3ti80.net] >>273 いやだからさ,>>257 NTはC++ で書かれている,というのは本当かな?と
283 名前:デフォルトの名無しさん (ワッチョイ 1763-gJJb) mailto:sage [2016/06/26(日) 20:51:00.59 ID:UsuidMmr0.net] どの辺が「だから」だったのかと>>273 は思ったに相違ない
284 名前:デフォルトの名無しさん (ワッチョイ 7b75-/9v5) [2016/06/26(日) 21:09:34.11 ID:9EK0IVkl0.net] >>271 win32apiでデストラクタって何の話? ちなみにCOMだってC++じゃなくCでサーバーもクライアントもOKだぞw
285 名前:デフォルトの名無しさん (ワッチョイ 1f13-msxm) mailto:sage [2016/06/26(日) 22:22:57.53 ID:cK3U3ti80.net] >>276 >>274
286 名前:デフォルトの名無しさん (ワッチョイ fb51-SJKp) mailto:sage [2016/06/26(日) 22:53:43.27 ID:xlZVWDWM0.net] >>274 の疑問を持った根拠が>>271 というわけじゃないのか?ループしてるぞ。
287 名前:デフォルトの名無しさん (ワッチョイ 7b75-/9v5) [2016/06/26(日) 23:05:44.00 ID:9EK0IVkl0.net] >>274 400万行のC++だよ
288 名前:デフォルトの名無しさん (ワッチョイ c77b-5cVk) mailto:sage [2016/06/26(日) 23:44:55.78 ID:LjaEIKAj0.net] >中身をC++で書いているのに,外皮だけCのインターフェースにするなんて出来ないのでは? 内部は開発効率化のためにC++で書くけれど外部インターフェースはCにするという要請はよくあることだし 俺もそういうライブラリ書いたことある
289 名前:デフォルトの名無しさん (ワッチョイ 43e7-vrBh) mailto:sage [2016/06/27(月) 01:12:28.35 ID:uDyvV7QG0.net] クラスは関数でラップすればデストラクタ等はその中で処理される。 その後手続きをCでエクスポートすれば外部的にはCライブラリ。
290 名前:デフォルトの名無しさん (ワッチョイ 1f13-msxm) mailto:sage [2016/06/27(月) 07:07:12.19 ID:q77XyyHa0.net] そうか thx
291 名前:デフォルトの名無しさん (オッペケ Srb7-gJJb) mailto:sage [2016/06/27(月) 07:28:15.79 ID:7Fk1LScMr.net] >>279 それはWindows NT 3.51の時代な
292 名前:デフォルトの名無しさん (ワッチョイ dbdc-Wdu2) mailto:sage [2016/06/27(月) 07:30:40.79 ID:4MiplAQJ0.net] 今、Win10はC#で書いてるのかな。
293 名前:デフォルトの名無しさん (ワッチョイ 170b-gJJb) mailto:sage [2016/06/27(月) 09:32:57.52 ID:SokS5zaj0.net] いや、そのc#の実行環境を何で書いてるのかとかそういうレベルの話をしていると思うんですけど
294 名前:284 (ワッチョイ dbdc-Wdu2) mailto:sage [2016/06/27(月) 12:30:55.29 ID:4MiplAQJ0.net] 俺の書いた >>284 も同じ趣旨。 つまりC#はOSを書ける言語なのかな、ということ。 C#知らないんで「そんなワケねぇだろ」という話かもしれないが。
295 名前:デフォルトの名無しさん (ワッチョイ 7b75-/9v5) [2016/06/27(月) 13:27:28.47 ID:XsngVlFh0.net] つhttps://blogs.msdn.microsoft.com/hirosho/2015/03/18/gr-sakura-net-micro-framework/
296 名前:デフォルトの名無しさん (ワッチョイ ef02-jO4j) mailto:sage [2016/06/27(月) 19:35:33.11 ID:IGJLedlW0.net] .netは技術的にはネイティブコードにできるからマイクロソフトにかかれば何でもできる 一般向けのは無理だけど
297 名前:デフォルトの名無しさん (ワッチョイ 9b7b-kLFr) mailto:sage [2016/06/27(月) 21:25:08.85 ID:47vAhopU0.net] こんな暗黙的な動作の多い言語でOS書くわきゃねーだろ。
298 名前:デフォルトの名無しさん (アウアウ Sa77-X2hC) mailto:sage [2016/06/27(月) 21:58:56.71 ID:VebqeWPma.net] >>280 そうする理由は?
299 名前:デフォルトの名無しさん (ワッチョイ 7b75-/9v5) [2016/06/27(月) 23:17:05.99 ID:XsngVlFh0.net] C++がCの拡張であることが答えだと思うが?
300 名前:デフォルトの名無しさん (ワッチョイ fb7b-jO4j) mailto:sage [2016/06/28(火) 00:17:11.56 ID:EhMwM3C70.net] そうじゃないだろ。 C++はABIに統一ルールがないから ルールのあるCで出すしかない
301 名前:デフォルトの名無しさん (ワッチョイ 2ba1-g/oQ) [2016/06/28(火) 00:53:08.22 ID:S1GtACVo0.net] DLLの話で… extern
302 名前:デフォルトの名無しさん (ワッチョイ 2ba1-g/oQ) [2016/06/28(火) 00:53:55.90 ID:S1GtACVo0.net] また引用符できれた。あーあ
303 名前:デフォルトの名無しさん (アウアウ Sa77-4am/) mailto:sage [2016/06/28(火) 01:50:08.94 ID:a+4o3zCZa.net] C/C++は禿るからなるべく使いたくない、後発言語を使おう ↓ 速度が出ないぞ、困った ↓ アルゴリズムを改善しよう ↓ 速度が出ないぞ、困った ↓ 低レベルに手を入れよう。でもアセンブリ言語でCPU依存の最新命令をゴリゴリ書く才能はないぞ ↓ Cは禿るからなるべく使いたくない ↓ C++なら脱毛量も抑えられるのでは?
304 名前:デフォルトの名無しさん (ワッチョイ efcc-gJJb) mailto:sage [2016/06/28(火) 02:23:52.24 ID:6jJux1LZ0.net] Cはいろいろ気を使うからな 奴らはCでもオブジェクト化できる!とか言いながらパラメタ渡しに気を使い杉てハゲていくからね 例えるならC++がヤマトヌマエビ(素早い)でCがイシマキガイ(鈍い)みたいな社蓄だな
305 名前:デフォルトの名無しさん (ワッチョイ 43e7-vrBh) mailto:sage [2016/06/28(火) 03:03:25.48 ID:mvAMGztx0.net] OOの隠ぺいは発明だと思うわ。 汚く書きたいとは思わんけど、どうしても見せたくない部分ってあるからね。 ユニファイドコールシンタックスはまだかー。俺の黒魔術が火を噴くぜ。
306 名前:デフォルトの名無しさん (ワッチョイ 9b7b-LLnp) [2016/06/28(火) 03:48:28.00 ID:d4cEk4D30.net] >>297 UnifiedCallSyntaxが無いと出来ない事ってある?
307 名前:デフォルトの名無しさん (ワッチョイ 43e7-vrBh) mailto:sage [2016/06/28(火) 03:53:33.73 ID:mvAMGztx0.net] >>298 いや、特にないよ。汗 ただ、汎用関数でconstexprとかの練習をしたいので切り分けられるという点に魅力を感じている。 まだ初心者なので・・・。Orz まぁ、関数チェインができることが一つの魅力かなーと思ってる。 手続きをまとめられるかなーと。 それも視方によってはかなり汚いのだけどね。
308 名前:デフォルトの名無しさん (ワッチョイ 43e7-vrBh) mailto:sage [2016/06/28(火) 03:57:41.83 ID:mvAMGztx0.net] 関数チェインではvector vに対して、 v.map([](){}).reduse([](){}).get(); などのチェインができるようになる。 まぁ、そういう風に書かないといけないんだけどね。
309 名前:デフォルトの名無しさん (ワッチョイ 43e7-vrBh) mailto:sage [2016/06/28(火) 04:07:21.30 ID:mvAMGztx0.net] template<class T,std::size_t N> constexpr std::size_t Size(T (&A)[N]){return N;} と書いて、 int Array[10]={'0',}; std::size_t S = Array.Size(); とかもね。
310 名前:デフォルトの名無しさん (ワッチョイ 43e7-vrBh) mailto:sage [2016/06/28(火) 04:24:29.18 ID:mvAMGztx0.net] くどいけど、一応希望的観測も入ってるから。。。Orz
311 名前:デフォルトの名無しさん (オッペケ Srb7-gJJb) mailto:sage [2016/06/28(火) 08:10:49.54 ID:wUFLL660r.net] Visual C++のbasic_string::dataが書き込めるようになったらしいが 塗る文字は書き込んでいいの? N4582 21.3.1.7.1 The program shall not alter the value stored at p + size().
312 名前:デフォルトの名無しさん (ワッチョイ 9b7b-LLnp) [2016/06/28(火) 08:52:02.27 ID:d4cEk4D30.net] >>303 size()の位置には何も書き込んじゃだめ
313 名前:デフォルトの名無しさん (JP 0H57-kDJ5) mailto:sage [2016/06/28(火) 09:02:07.83 ID:4uPkxyfrH.net] 何を塗るのかと考えてしまったわけだが
314 名前:デフォルトの名無しさん (ワッチョイ 9d7b-macT) mailto:sage [2016/06/30(木) 00:55:59.22 ID:dSZkCmBK0.net] >>295 残念、最近の軽量言語は c を呼び易くなってる。 c++ は何もかも中途半端な器用貧乏。
315 名前:デフォルトの名無しさん (ワッチョイ d57b-R7o+) mailto:sage [2016/07/01(金) 21:35:42.35 ID:N5RTRs5b0.net] swig使えばLLからC++余裕
316 名前:デフォルトの名無しさん (ワッチョイ 808b-JaNH) mailto:sage [2016/07/03(日) 08:44:12.57 ID:HcRra/sZ0.net] 質問 同じ名前の関数で、値渡しの引数にconstが付いたやつとそうでないやつって 同じスコープ内なら言語規格上常に同じものとみなされる?何か例外無い? 例1: 下記関数のオーバーロードは不可能? void foo(const int x); void foo(int x); 例2: 下記の前方宣言と関数定義は、同一の関数fooの宣言と定義として問題無い? extern void foo(int x); void foo(const int x); 例3: 例2と同様だがconstの有無が反対のパターン extern void foo(const int x); void foo(int x); VC2010で実験する限り例1エラー、例2、例3おk、に見え、foo()の実体は一つとみなされるっぽい
317 名前:デフォルトの名無しさん (ワッチョイ dd7b-9j2g) [2016/07/03(日) 09:12:00.13 ID:GHSyq4ku0.net] >>308 同じ intをコピーして渡すのだからそれにconstがついてようがついていまいが呼び出し側に何の影響もないからね。
318 名前:デフォルトの名無しさん (ワッチョイ 9fe7-JaNH) mailto:sage [2016/07/03(日) 09:27:27.37 ID:TDiL8ANR0.net] 呼び分けたいなら、参照と混ぜるのがいいのかな。
319 名前:デフォルトの名無しさん (ワッチョイ 9fe7-JaNH) mailto:sage [2016/07/03(日) 09:28:04.47 ID:TDiL8ANR0.net] あー違うかも・・・。Orz
320 名前:デフォルトの名無しさん (スプッ Sdb8-s3GQ) mailto:sage [2016/07/03(日) 09:39:24.57 ID:eF+utK+dd.net] つーか呼ぶ側がどうやって呼び分けるつもりなのだろう。
321 名前:デフォルトの名無しさん (ワッチョイ 9fe7-JaNH) mailto:sage [2016/07/03(日) 09:49:09.48 ID:TDiL8ANR0.net] やっぱだめか。無駄レスすまんかった。
322 名前:デフォルトの名無しさん (ワッチョイ dd7b-nIaX) [2016/07/03(日) 10:45:12.34 ID:GHSyq4ku0.net] 呼び分けたい理由がわからんけど、分けたいならtemplate使えばいい ideone.com/d2F5o7
323 名前:デフォルトの名無しさん (ワッチョイ 1e02-R7o+) mailto:sage [2016/07/03(日) 12:23:07.37 ID:URB4sXSa0.net] そもそも何で同じにするのか ネーミングセンス無いなら名前空間で分けろよ
324 名前:デフォルトの名無しさん (ワッチョイ 1e3c-s3GQ) mailto:sage [2016/07/03(日) 13:00:29.02 ID:FivcklIc0.net] オーバーロード全否定 w
325 名前:デフォルトの名無しさん (ワッチョイ 3575-NBGD) [2016/07/03(日) 13:03:19.04 ID:XUDM007B0.net] >>308 N3797 P.284 Parameter declarations that differ only in the presence or absence of const and/or volatile are equivalent. That is, the const and volatile type-specifiers for each parameter type are ignored when determining which function is being declared, defined, or called. [ Example: typedef const int cInt; int f (int); int f (const int); // redeclaration of f(int) int f (int) { /* ... */ } // definition of f(int) int f (cInt) { /* ... */ } // error: redefinition of f(int) ―end example ]
326 名前:デフォルトの名無しさん (ワッチョイ 9fe7-JaNH) mailto:sage [2016/07/03(日) 13:05:18.24 ID:TDiL8ANR0.net] 新鮮な規格だ〜。
327 名前:デフォルトの名無しさん (ワッチョイ 1e02-R7o+) mailto:sage [2016/07/03(日) 13:56:08.24 ID:URB4sXSa0.net] >>316 引数も同じにしたいって言ってるんだぞ その次はテンプレートか名前空間で分けるしかないじゃん
328 名前:デフォルトの名無しさん (ワッチョイ 808b-JaNH) mailto:sage [2016/07/03(日) 14:03:55.46 ID:HcRra/sZ0.net] >>319 何を持って同じ引数とみなすかが問題なのでは… 関数引数については>>309 の通りなので多分>>317 の規格がある テンプレートの引数についてはconstの有無を無視したら困る(ことも考えられる) から>>314 のようになっている 希ガス、
329 名前:デフォルトの名無しさん (ワッチョイ 1e3c-s3GQ) mailto:sage [2016/07/03(日) 14:19:01.23 ID:FivcklIc0.net] >>319 > 引数も同じにしたいって言ってるんだぞ 妄想乙
330 名前:デフォルトの名無しさん (ワッチョイ 8063-s3GQ) mailto:sage [2016/07/03(日) 19:47:44.01 ID:CJZHBW3I0.net] 仮引数のconstは関数本体の解釈にしか影響しないので 別の関数にしてforwarding referenceのテンプレートで振り分けるしか無いか。 と思ったが、引数の型がintなのでそれも出来ず
331 名前:デフォルトの名無しさん (ワッチョイ 8063-s3GQ) mailto:sage [2016/07/03(日) 20:39:14.60 ID:CJZHBW3I0.net] >>312 こうだろう ideone.com/QfE2F6 も
332 名前:オクラス型だったなら、常人にとって直感的な呼び分けはできる [] [ここ壊れてます]
333 名前:デフォルトの名無しさん (アウアウ Sa61-s3GQ) mailto:sage [2016/07/03(日) 21:16:34.18 ID:VogRIy5Ba.net] f_constとf_not_constて名前違うやん そうすりゃ呼び分けられるのは当たり前やろwwww
334 名前:デフォルトの名無しさん (ワッチョイ 8063-s3GQ) mailto:sage [2016/07/03(日) 21:32:17.76 ID:CJZHBW3I0.net] >>324 呼び分けの呼び出し「元」の記述イメージを書いたのが実は45行目以降だった失礼
335 名前:デフォルトの名無しさん (ワッチョイ 40cd-wGMc) mailto:sage [2016/07/04(月) 02:44:51.10 ID:aKsb1ucX0.net] boostの正規表現での検索ってperlより速いですか?
336 名前:デフォルトの名無しさん (ワッチョイ 1e02-R7o+) mailto:sage [2016/07/04(月) 03:03:10.02 ID:E0X6Js8A0.net] そりゃ
337 名前:デフォルトの名無しさん (アウアウ Sa61-4ZHw) mailto:sage [2016/07/04(月) 03:34:51.14 ID:pbD1RD37a.net] std::regexが競プロに使えないくらい遅い
338 名前:デフォルトの名無しさん (ワッチョイ 808b-JaNH) mailto:sage [2016/07/04(月) 22:21:44.04 ID:ikWLTUmz0.net] 毎回FSMをコンパイルし直しているのではないか
339 名前:デフォルトの名無しさん (ワッチョイ 3a73-x3AI) mailto:sage [2016/07/05(火) 13:34:35.95 ID:D6k3Q2ii0.net] >>303 えと、"ABC"を"CDF"に書き換えるときは問題ないけど "ABC"を"CD"に書き換える場合 p + size()の位置を'\0'に書き換えないと "CD"+ゴミ文字+'\0'と言うわけの判らない状態になるんじゃないの? "ABC"を"ABCD"+'\0'に書き換えるのはバッファサイズが足りない可能性があるので無理だろうけど
340 名前:デフォルトの名無しさん (ワッチョイ 3a73-x3AI) mailto:sage [2016/07/05(火) 13:38:42.15 ID:D6k3Q2ii0.net] >>330 補足 この場合、新しい size() サイズは2だね
341 名前:デフォルトの名無しさん (ワンミングク MM40-9j2g) [2016/07/05(火) 14:06:57.61 ID:jyuF/kASM.net] >>330 s.data()[size()]を書き換えちゃダメ "ABC"を"CD"に書き換える場合 CDをコピーした後resize(2)する。
342 名前:デフォルトの名無しさん (アウアウ Sa61-4ZHw) mailto:sage [2016/07/06(水) 23:01:07.77 ID:s9ecTOGAa.net] フールプルーフできないのか せめてありがちな間違いを起こしそうならライブラリ設計者が警告出せるような仕組みが欲しい
343 名前:デフォルトの名無しさん (ワッチョイ 8063-s3GQ) mailto:sage [2016/07/06(水) 23:08:44.35 ID:svlco4IY0.net] >せめてありがちな間違いを起こしそうならライブラリ設計者が警告出せるような仕組み C/C++が最初から捨ててきたことを「せめて」とか言われても…
344 名前:デフォルトの名無しさん (ワッチョイ 1e02-R7o+) mailto:sage [2016/07/06(水) 23:31:46.62 ID:S1fNdcb40.net] 補助輪付けたら遅くなるだろ
345 名前:デフォルトの名無しさん (アウアウ Sa61-4ZHw) mailto:sage [2016/07/06(水) 23:47:30.48 ID:s9ecTOGAa.net] コンパイルタイムの話ですよコンパイルタイム
346 名前:デフォルトの名無しさん (ワッチョイ d306-UmxN) [2016/07/07(木) 06:43:15.53 ID:EFIqG9u50.net] 静的試験ツールなんてなんぼでもあるだろ
347 名前:デフォルトの名無しさん (JP 0H9f-02zg) mailto:sage [2016/07/07(木) 06:58:15.43 ID:eLSt6oyyH.net] コンパイルおせえよクソがと散々言われ続けてるのにまだ遅くするのか D言語にしとけ
348 名前:デフォルトの名無しさん (ワッチョイ 9742-UmxN) [2016/07/07(木) 22:20:09.22 ID:e0JO7czi0.net] コンパイル遅いのは許せる 実行遅いのは許せない・・・自分を
349 名前:デフォルトの名無しさん (ワッチョイ 47cd-Bmei) mailto:sage [2016/07/08(金) 01:02:35.60 ID:CUMeTHck0.net] >>328 それくらい自分でかけよ
350 名前:デフォルトの名無しさん (ワッチョイ 837b-esBB) [2016/07/08(金) 01:03:49.31 ID:wvqVojA50.net] moduleはC++17に入るの決まったんだっけ?
351 名前:デフォルトの名無しさん (ワッチョイ ef02-Bfmi) mailto:sage [2016/07/08(金) 01:20:15.51 ID:XHOIzNG40.net] 入らない
352 名前:デフォルトの名無しさん (アウアウ Sa1f-uVi+) mailto:sage [2016/07/08(金) 02:22:39.04 ID:EjlSfwF/a.net] 14でさえ把握できてないのに17も覚えないといけないの!
353 名前:デフォルトの名無しさん (ワッチョイ ef02-Bfmi) mailto:sage [2016/07/08(金) 02:31:42.73 ID:XHOIzNG40.net] そんなに変わるところはない 採択された案のほとんどは修正だし コア言語はマイナーアップデート程度 ライブラリは増える
354 名前:デフォルトの名無しさん (スプー Sdbf-oo3f) [2016/07/08(金) 07:40:36.88 ID:Flii99Vkd.net] std::const_reverse_iterator<hoge::iterator> func() { return {hoge().begin()}; } でリバースイテレータが作れません。何故ですか
355 名前:デフォルトの名無しさん (オッペケ Sr1f-oo3f) mailto:sage [2016/07/08(金) 08:03:32.96 ID:8iyC4OaEr.net] コンパイラーのエラーメッセージを読めばわかるのでは
356 名前:デフォルトの名無しさん (スプー Sdbf-oo3f) [2016/07/08(金) 08:22:34.62 ID:Flii99Vkd.net] constはいらなかったです
357 名前:デフォルトの名無しさん (オッペケ Sr1f-oo3f) mailto:sage [2016/07/08(金) 19:02:35.18 ID:8iyC4OaEr.net] コンパイラーのメッセージも読まない荒らしは去れ
358 名前:片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK5f-fi14) mailto:sage [2016/07/08(金) 19:21:08.43 ID:5bf5xqe9K.net] >>345 rbeginを使え、って言いたいとこだけど、 すぐ寿命が尽きる一時オブジェクトのイテレータを取得しても、意味ねーな。
359 名前:デフォルトの名無しさん (スプー Sdbf-oo3f) [2016/07/08(金) 19:23:27.49 ID:J04Ban1Qd.net] 意味はまるで問題にしてないのでそのように書いただけです そのくらい言われなくてもわかるでしょう
360 名前:片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK5f-fi14) mailto:sage [2016/07/08(金) 19:37:00.88 ID:5bf5xqe9K.net] 一時オブジェクトではなく、他の場所にhogeを作らないといけない。
361 名前:デフォルトの名無しさん (ワッチョイ 4763-oo3f) mailto:sage [2016/07/08(金) 20:23:43.36 ID:yKp6sPcD0.net] おじいちゃんは一つ前のレスも読めないようだ
362 名前:デフォルトの名無しさん (ガラプー KK9f-fi14) mailto:sage [2016/07/08(金) 20:33:03.46 ID:5bf5xqe9K.net] 意味の無いプログラミングなど有ってたまるか!
363 名前:デフォルトの名無しさん (ワッチョイ 4763-oo3f) mailto:sage [2016/07/08(金) 21:11:04.27 ID:yKp6sPcD0.net] いきなりどうした >>345-352 と話が繋がってないし 4つ前の自分のレスぐらい覚えてろよ
364 名前:デフォルトの名無しさん (ブーイモ MMbf-oo3f) mailto:sage [2016/07/08(金) 21:32:33.08 ID:J765OJydM.net] 正直、正しいと思って間違ったことをしてしまう人が 同等の表現なのですと持ち出した例が 本当に最初にはまった事例と同等なのか疑問ではある。
365 名前:デフォルトの名無しさん (ワッチョイ 5b7b-Pl7u) mailto:sage [2016/07/08(金) 21:36:12.49 ID:+pt5nh+80.net] >そのくらい言われなくてもわかるでしょう 何この上から目線wwwこんな奴初めて見た
366 名前:デフォルトの名無しさん (ワッチョイ 970f-UmxN) [2016/07/08(金) 22:51:23.21 ID:mKM2j9np0.net] >>347 おれもそう思う 初めて話を聞いたときはよさげに聞こえたが 付き合えば付き合うほどクソぶりがわかってきた volatileもそうだがconstも爆発しろだね volatileにはatomicという出直し案が出ているが constにはどうするつもりなんだろうね const&と&&みたいのはクソつーかもうゲリスピーだろ
367 名前:デフォルトの名無しさん (ワッチョイ 837b-esBB) [2016/07/08(金) 23:00:06.45 ID:wvqVojA50.net] >>357 コンパイラのエラーメッセージも読まない初心者に同調してそんな中身のない長文書いて恥ずかしくない?
368 名前:デフォルトの名無しさん (ワッチョイ ef02-Bfmi) mailto:sage [2016/07/08(金) 23:04:34.64 ID:XHOIzNG40.net] volatileは組み込みのためにある
369 名前:デフォルトの名無しさん (ワッチョイ efcc-oo3f) mailto:sage [2016/07/08(金) 23:07:22.75 ID:h6xGzFyv0.net] const がどの辺りまで及ぶのか不明なときがあるよな
370 名前:デフォルトの名無しさん (ワッチョイ a7cb-Bfmi) [2016/07/08(金) 23:17:43.60 ID:b6PNZUTC0.net] ほんと馬鹿なんですね 解決方法なんて聞いてないです なぜ struct hoge { hoge( int ){} }; hoge func2() { //return hoge{ 111 }; return { 111 }; } はできて std::reverse_iterator< std::vector< int >::iterator > func() { //return std::reverse_iterator< std::vector< int >::iterator >{ std::vector< int >().begin() }; return { std::vector< int >().begin() }; } はできないのかと言っているんです
371 名前:デフォルトの名無しさん (ガラプー KK5f-fi14) mailto:sage [2016/07/08(金) 23:26:59.89 ID:5bf5xqe9K.net] >>361 その理由はコンパイラ先生が教えてくれます。
372 名前:デフォルトの名無しさん (アウアウ Sa1f-oo3f) mailto:sage [2016/07/08(金) 23:51:37.51 ID:RJKc3x7Ha.net] >>361 reverse_iteratorのコンストラクタがexplicitだからじゃね
373 名前:デフォルトの名無しさん (ワッチョイ 237b-Bfmi) mailto:sage [2016/07/09(土) 00:13:03.36 ID:buv4Rqly0.net] >>361 return には値を与えてください
374 名前:デフォルトの名無しさん (ワッチョイ 5be7-3Gy/) mailto:sage [2016/07/09(土) 01:19:22.76 ID:FYwNyXTu0.net] テンポラリバリューの値取って何するんだろう。
375 名前:デフォルトの名無しさん (ワッチョイ efcc-oo3f) mailto:sage [2016/07/09(土) 01:43:23.98 ID:GFJ5/r//0.net] クラスメンバの記述の後ろに throw で予め例外記述しておくのもよくわからん
376 名前:デフォルトの名無しさん (ワッチョイ efcc-oo3f) mailto:sage [2016/07/09(土) 02:25:38.34 ID:GFJ5/r//0.net] >>361 それreturnした瞬間にコンテナ自体がお釈迦になるやろ
377 名前:デフォルトの名無しさん (アウアウ Sa1f-uVi+) mailto:sage [2016/07/09(土) 02:28:10.37 ID:OBptfGOha.net] 煽れば情報をただで引き出せると思わないでください。不愉快です
378 名前:デフォルトの名無しさん (ワッチョイ 5be7-3Gy/) mailto:sage [2016/07/09(土) 02:41:14.74 ID:FYwNyXTu0.net] >>368 貴方の言動が不愉快です。
379 名前:デフォルトの名無しさん (ワッチョイ 5b7b-Pl7u) mailto:sage [2016/07/09(土) 05:15:58.25 ID:T8+GTzYr0.net] >>361 std::reverse_iteratorはiteratorをreverse_iteratorに勝手に変換してくれるものではないからだよ そんな魔法はない リファレンスもエラーメッセージも読めないんじゃC++なんてやめたほうがいいよ 最近妙に湧いてる無用に{}使うやつはみんなバカ
380 名前:デフォルトの名無しさん (ワッチョイ 970f-UmxN) [2016/07/09(土) 05:33:59.55 ID:Nk7PlXct0.net] >>361 explicitて書いてあるやないか どーに目ぇつけとんじゃボケ 気ぃつけんかい
381 名前:デフォルトの名無しさん (ワッチョイ 4763-oo3f) mailto:sage [2016/07/09(土) 07:35:21.02 ID:cNqa9fRP0.net] >>364 お前のコーディングスタイルを押しつけられても
382 名前:デフォルトの名無しさん (アウアウ Sa1f-uVi+) mailto:sage [2016/07/09(土) 07:50:41.11 ID:OBptfGOha.net] いきなり実践に及んで阿呆なコード書いて動きませんって泣きつく前に、先ず禿本一通り読めよ
383 名前:デフォルトの名無しさん (ワッチョイ 83e2-Bfmi) mailto:sage [2016/07/09(土) 07:52:15.50 ID:x6RnoRNv0.net] constの仕様がないほうがバグが減るよな。
384 名前:デフォルトの名無しさん (ワッチョイ 4763-oo3f) mailto:sage [2016/07/09(土) 08:15:57.76 ID:cNqa9fRP0.net] >>361 規格の以下を総合するとそうなる 6.6.3The return statement段落2 8.5Initializer段落15 12.3.1Conversion from constructor段落2
385 名前:デフォルトの名無しさん (ワッチョイ a7cb-Bfmi) [2016/07/09(土) 09:16:37.56 ID:ZtFVqNou0.net] >>364 >365 >367 >373 誰もそんな事は聞いてませんし問題にしてません >>362 説明になってないです >>370 もうちょいがんばれ >>363 >>371 >>375 これが意味のある回答ってやつです 他のアホどもは反省してください
386 名前:デフォルトの名無しさん (ブーイモ MMbf-oo3f) mailto:sage [2016/07/09(土) 10:07:29.54 ID:1kfJJwsoM.net] >376 人に教えをこう立場であることを理解しろ
387 名前:デフォルトの名無しさん (ワッチョイ 5b7b-Pl7u) mailto:sage [2016/07/09(土) 10:54:19.05 ID:T8+GTzYr0.net] なにが「もうちょいがんばれ」だよ Iteratorを引数として取るコンストラクタがexplicitな「意味」をわざわざ書いてやったのに return std::vector<int>().rbegin(); ならコンパイル通るだろ どうでもいいけど無駄な{}や空白を使うなバーカ
388 名前:デフォルトの名無しさん (ワッチョイ 837b-kN9e) mailto:sage [2016/07/09(土) 11:01:13.46 ID:JvlKE5OT0.net] 実にc++er らしいやり取り。
389 名前:デフォルトの名無しさん (スプー Sdbf-oo3f) [2016/07/09(土) 11:08:30.93 ID:OvnbLC0id.net] >>378 つくづくアホの見本ですね コンパイルを通す方法は聞いてないのです 一回言ってわからない人は何回言ってもダメですね
390 名前:デフォルトの名無しさん (ワッチョイ db9b-oo3f) mailto:sage [2016/07/09(土) 11:10:20.64 ID:cv8lXTF00.net] >>377 スルーできないバカがいっぱいだから煽る方が効率的なのはしょうがない 悔しかったらスルーしてみろ
391 名前:デフォルトの名無しさん (ワッチョイ 837b-kN9e) mailto:sage [2016/07/09(土) 11:20:22.24 ID:JvlKE5OT0.net] これが効率的? 本気でそう思ってるならちょっと。。
392 名前:デフォルトの名無しさん (アウアウ Sa1f-oo3f) mailto:sage [2016/07/09(土) 11:22:46.74 ID:hsb7nXH/a.net] 暇つぶしの効率化w
393 名前:デフォルトの名無しさん (ワッチョイ 4763-oo3f) mailto:sage [2016/07/09(土) 11:37:58.35 ID:cNqa9fRP0.net] 「答えてみろ」と言わんばかりのおもむろな釣りに対し 質問者の説明すら無視した>>365 >>367のうんこレスや >>364 のようなとんちんかんなレスをしたら 罵られても仕方ないだろう
394 名前:デフォルトの名無しさん (ワッチョイ 837b-esBB) [2016/07/09(土) 11:47:33.78 ID:3CUWSYwC0.net] 他のスレもまあまあ見てるけどこんな風な流れになるのC++スレに限らんよ
395 名前:デフォルトの名無しさん (ワッチョイ 5b7b-Pl7u) mailto:sage [2016/07/09(土) 12:49:04.40 ID:T8+GTzYr0.net] >>380 378を読んでコンパイルを通す方法を教えてると解釈したお前はアスペ もういいから荒らしは消
396 名前:えろカス [] [ここ壊れてます]
397 名前:デフォルトの名無しさん (ワッチョイ a7cb-Bfmi) [2016/07/09(土) 12:59:22.41 ID:ZtFVqNou0.net] >>370 explicitという単語を明示的に(explicitだけに)出せない当たり回答者としては三流ですね 指摘されてようやく出てくるようでは遅いです。 説明する気がないなら帰っていただいて結構ですので
398 名前:デフォルトの名無しさん (ワッチョイ 4763-oo3f) mailto:sage [2016/07/09(土) 13:05:53.32 ID:cNqa9fRP0.net] >明示的に(explicitだけに) >明示的に(explicitだけに) >明示的に(explicitだけに)
399 名前:デフォルトの名無しさん (ワッチョイ 5b7b-Pl7u) mailto:sage [2016/07/09(土) 13:18:52.66 ID:T8+GTzYr0.net] IDコロコロなゴミカスが何か言ってる
400 名前:デフォルトの名無しさん (ワッチョイ 478b-3Gy/) mailto:sage [2016/07/09(土) 14:54:32.16 ID:PBlPBx/A0.net] 質問 std::vector<T>の添え字の個数の型をsize_t以外(具体的にはint)に変更した版が欲しいんですが STLの枠組みの中でできませんかね… 変更したい理由は、既存の生の配列vec[]をstd::vector<T> vecに切り替えようとしているのですが vec.size()の返す型がsize_t(符号なし整数)のままでは下記の問題があるからです。 (1) int n = (vec[]の要素数); というコードを仮にnの型ごと機械的に size_t n = vec.size(); に変えると、 ((vec[]の添え字) >= 0)を継続条件とするループがどっかにあったら死ぬ (2) かといって、int n = (int)vec.size();とする変更では、そういうキャストが 複数にちらばってしまいどこがsize_tとintの使い分けの境界なのかイミフなコードになる (今後複数人で保守したら(1)タイプの変更と(2)タイプの変更が入り混じることが必至
401 名前:デフォルトの名無しさん (ワッチョイ 478b-3Gy/) mailto:sage [2016/07/09(土) 15:05:04.21 ID:PBlPBx/A0.net] んまー要素の個数をsize_tからintにしたらしたで、push_back()時等に要素数が std::numeric_limits<int>::max() (ていうかINT_MAX 以下かどうかチェックした方が良い気がするので、 実はそういうチェック付きのstd::vector<T>のwrapperを手で書いた方が良い?
402 名前:デフォルトの名無しさん (ワッチョイ d37b-oo3f) mailto:sage [2016/07/09(土) 15:08:33.52 ID:gcTQBWQE0.net] 全うなコンパイラなら適切なオプション設定すれば、unsignedが0以上か調べるような無意味な比較は指摘してくれるんじゃないの?
403 名前:デフォルトの名無しさん (ワッチョイ ef02-Bfmi) mailto:sage [2016/07/09(土) 15:15:04.86 ID:fXkb1tk70.net] intで収まらない巨大な配列を使うときだけ個別に対処すればいい
404 名前:デフォルトの名無しさん (ワッチョイ 237b-Bfmi) mailto:sage [2016/07/09(土) 15:45:04.35 ID:buv4Rqly0.net] >>372 スタイルの話ではありません
405 名前:デフォルトの名無しさん (ワッチョイ 4763-oo3f) mailto:sage [2016/07/09(土) 15:58:46.21 ID:cNqa9fRP0.net] ほう、では何だというのかね? 値を持たないbraced-init-listをreturnのオペランドに書くなと他人に押しつける意図は?
406 名前:デフォルトの名無しさん (ワッチョイ 977b-cFDw) mailto:sage [2016/07/09(土) 16:18:37.10 ID:e7wK9RSW0.net] >>390 明示的にキャストする必要ある?
407 名前:デフォルトの名無しさん (ワッチョイ 237b-Bfmi) mailto:sage [2016/07/09(土) 17:08:53.73 ID:buv4Rqly0.net] >>395 だから、値を与えてくださいといっている
408 名前:デフォルトの名無しさん (ワッチョイ 9733-oo3f) mailto:sage [2016/07/09(土) 17:42:49.14 ID:SM0qakfh0.net] >>390 できないねー。 正論を言ってしまうと、配列のインデクスに使う型はsize_t一択なので、然るべき変換は必要だと思う。 毎度書くか、一つの変換関数を作って通すかは個人の自由だけどね。
409 名前:デフォルトの名無しさん (ワッチョイ 9733-oo3f) mailto:sage [2016/07/09(土) 17:50:56.77 ID:SM0qakfh0.net] >>391 おっと、回答が出てるやん。 俺はそうしてるよ。
410 名前:デフォルトの名無しさん (ワッチョイ 4763-oo3f) mailto:sage [2016/07/09(土) 20:08:31.82 ID:cNqa9fRP0.net] >>397 差し出がましいようだが、知能発達の障害は生きてて辛いだろうし周りも不幸だ。 自分の生命を絶つという選択肢も有っていいと思うぞ。 「値を与えてください」と意味不明なレスを繰り返すだけなんて悲しすぎすぎる
411 名前:デフォルトの名無しさん (ワッチョイ 4763-oo3f) mailto:sage [2016/07/09(土) 20:13:32.28 ID:cNqa9fRP0.net] >>398 >配列のインデクスに使う型はsize_t一択 不勉強ながら存じませんでした なぜsize_t一択なのですか?
412 名前:片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK9f-fi14) mailto:sage [2016/07/09(土) 20:21:05.92 ID:Mz5tnssEK.net] >>401 符号付きだと、1ビット無駄になる。 64ビット環境でもサイズの制限が少ない。
413 名前:デフォルトの名無しさん (ワッチョイ d37b-oo3f) mailto:sage [2016/07/09(土) 20:32:45.23 ID:gcTQBWQE0.net] 機械的に置換して済ませようとする癖に、intとsize_tの切り分けがどうとか気にするとか。 intで配列アクセスしている時点でそもそもまともな切り分けがされていないだろうに。 置換して問題のあるところはすべて修正すると言う以外にまともな解決策はない。
414 名前:デフォルトの名無しさん (ワッチョイ 9733-oo3f) mailto:age [2016/07/09(土) 21:09:54.73 ID:SM0qakfh0.net] >>401 まず、配列で符号付きのインデクスって、通常無いでしょ? 特殊用途ではありそうだけど、ほとんどの場合バグになるだけだし。 で、標準ライブラリがsize_t押しなので、使わない手はないでしょ?って感じ。 ただ、int→size_tは暗黙変換可能なので、制限を見切った上で使ったりはするけど。
415 名前:デフォルトの名無しさん (ワッチョイ 237b-Bfmi) mailto:sage [2016/07/09(土) 21:36:25.11 ID:buv4Rqly0.net] >>400 煽ることで情報をひきだそうとする卑しい奴にはこれで十分なんですよ。
416 名前:デフォルトの名無しさん (ワッチョイ 237b-Bfmi) mailto:sage [2016/07/09(土) 21:38:40.57 ID:buv4Rqly0.net] >>404 降順でループさせる終了判定をラクしたいだけでしょ
417 名前:デフォルトの名無しさん (ワッチョイ b37b-zDc6) mailto:sage [2016/07/09(土) 21:51:18.43 ID:IyKD781m0.net] >>404 なんだ、まぐれでsize_t一択って言ってたのか
418 名前:デフォルトの名無しさん (ワッチョイ 478b-3Gy/) mailto:sage [2016/07/09(土) 22:01:28.16 ID:PBlPBx/A0.net] レスdクス>>390 の回答はいただいたあり〜 それはそうとして、配列またはstd::vector<T>の配列様アクセスの添え字が常にsize_tで無ければならない という主張のは個人的には理想化のしすぎでもあって弊害が大きいと認識する 理由の代表的なもの: 1. size_tは「長さ」を表すという意味をもつ特定用途の型であり、int型より汎用性が高いということはありえない (つまりプログラム中の整数を全部size_tにするというのは本末転倒で、どっかにsize_tとそれ以外の整数型を使い分ける境界が必ず生じる 2. 符号なし型と符号有り型の混在は比較時等にバグの元になるからプログラム内に散らばるのは良くないから、 それらの境界は管理されねばならない 3. 要素数がINT_MAX以上の配列の実行時の必要性とかはメジャーな要求ではありえない (2 GBもの配列が千も2千も同時に使用されたら今日日の普通のアーキテクチャではメモリが足りなくなるところだが、現実はそんな問題は生じていない つまりたいていの配列の添え字はintで事足りる 4. ビヨーン・ストラストロウップのプログラミング言語C++にstd::vector<T>の配列アクセスをintでやる例が複数出てくる (巻の後の方では確かにsize_tを使い始めるが、intの使用も教祖様は禁じておられぬ どんな使い方をされるかわからない汎用ライブラリはメモリオブジェクトの長さをsize_tとする必要があるかもしれんが それらを使う立場であるビジネスロジック側まで巻き着込まれるべきとする根拠は無い希ガス、
419 名前:デフォルトの名無しさん (ワッチョイ 9733-oo3f) mailto:age [2016/07/09(土) 22:14:33.91 ID:SM0qakfh0.net] >>408 それでいいんじゃね? どう思って、どう行動するかは個人の自由。
420 名前:デフォルトの名無しさん (ワッチョイ f3a1-WQfs) [2016/07/09(土) 22:20:41.66 ID:DWkJX5X40.net] 16ビットのアプリケーションをターゲットにする場合、配列のインデクスにlongを使ったら警告される
421 名前:デフォルトの名無しさん (ワッチョイ ef02-Bfmi) mailto:sage [2016/07/09(土) 22:36:30.14 ID:fXkb1tk70.net] 普通はめんどくさいからみんなintだよ 使い分けなんて考えてない intの範囲を超えるときだけアドリブで対処する
422 名前:デフォルトの名無しさん (ブーイモ MMbf-oo3f) mailto:age [2016/07/09(土) 22:40:42.98 ID:Cwu0vuExM.net] >>411 こら、自分の考えを普通とか言うな 俺の職場ではlongが普通 かなりイラッとさせられた
423 名前:デフォルトの名無しさん (ワッチョイ 5b7b-Pl7u) mailto:sage [2016/07/09(土) 22:52:41.09 ID:T8+GTzYr0.net] 符号付きと符号無しを比較したらワーニング出るでしょ もちろんワーニングレベル設定にもよるけど
424 名前:デフォルトの名無しさん (ワッチョイ 5b7b-Cxy9) mailto:sage [2016/07/09(土) 23:01:11.88 ID:whD12s8T0.net] なんでもできちゃう低水準言語においてセキュアコーディングの意識は もはや必須だと思っていたけどまだこんなにも意識が低い人がいるのか 符号無し整数は問題ないけど符号付き整数のオーバーフローは未定義動作であるとか 知らないからなんでも適当にintとか使ってるんだろう
425 名前:デフォルトの名無しさん (ワッチョイ efcc-oo3f) mailto:sage [2016/07/09(土) 23:11:06.59 ID:mCL5F7kx0.net] >>411 おまえみたいなのがいるから後々収集つかなくなってくるんだ!!
426 名前:デフォルトの名無しさん (ワッチョイ 237b-Bfmi) mailto:sage [2016/07/09(土) 23:11:31.13 ID:buv4Rqly0.net] longでOKとか思われてもなぁ。 LLP64環境だったらどないすんねんと。 ptrdiff_tとかつかえよ
427 名前:デフォルトの名無しさん (ワッチョイ 837b-esBB) [2016/07/09(土) 23:17:24.22 ID:3CUWSYwC0.net] longとか使いどころが解らん 普段はint or size_t で大きさを意識しなきゃいけない所は(u)intxxx_tとか使うぐらい
428 名前:デフォルトの名無しさん (ワッチョイ 970f-UmxN) [2016/07/09(土) 23:36:08.18 ID:hbg/zns40.net] intmax_tを使うかmpz_classを使うか 人それぞれでいいだろ
429 名前:デフォルトの名無しさん (ワッチョイ 977b-cFDw) mailto:sage [2016/07/09(土) 23:50:50.65 ID:e7wK9RSW0.net] 添字として使ったらどうせsize_tに暗黙キャストされるんじゃないの?
430 名前:デフォルトの名無しさん (ワッチョイ 5be7-3Gy/) mailto:sage [2016/07/10(日) 00:04:48.46 ID:dveZE7kz0.net] size_tはアーキテクチャのbit数にマッチするようにコンパイラさんが図ってくれるからsize_tを使おう。
431 名前:デフォルトの名無しさん (ワッチョイ 5bc9-oo3f) mailto:sage [2016/07/10(日) 01:11:24.42 ID:9l5lNFa80.net] unsigned は極力使うなという教えもある。 0から減算すると大きな正の数になるという直感に反する挙動により、 バグの温床になりやすい。 だから配列のサイズはともかく添え字アクセスはsignedの方がいい。 そもそもsize_tって名前からしてサイズ用途だろ。 これをインデックス用途に流用してるのがそもそも悪い。
432 名前:デフォルトの名無しさん (ワッチョイ 9733-oo3f) mailto:age [2016/07/10(日) 01:16:44.87 ID:OTBSIlSO0.net] >>421 ゼロから減算する時点でインデクス用途ではバグなんだが…
433 名前:デフォルトの名無しさん (ワッチョイ bf6c-5751) mailto:sage [2016/07/10(日) 01:18:12.17 ID:8/KxAQ5o0.net] いやインデクスでも巻き戻したい時とかあるじゃん?
434 名前:デフォルトの名無しさん (ワッチョイ 5be7-3Gy/) mailto:sage [2016/07/10(日) 01:19:28.47 ID:dveZE7kz0.net] アンダーフローって言葉がありまして。。。 unsigned ならif一個でいいけどsingnedは2個書かないといけない。 std::size_t x; if(x>=lim) return false;
435 名前:デフォルトの名無しさん (ワッチョイ 9733-oo3f) mailto:age [2016/07/10(日) 01:21:24.00 ID:OTBSIlSO0.net] いや、だから「ゼロから」減算するのがバグって言ってるの…
436 名前:デフォルトの名無しさん (ワッチョイ 5bc9-oo3f) mailto:sage [2016/07/10(日) 01:22:06.10 ID:9l5lNFa80.net] >>422 末尾から順にアクセスする場合とかはあるよ。 普通にコーディングしたら、ループ後にカウンタが-1になるから。 どっかの有名な本でもこの例でunsignedは良くないと載ってた。
437 名前:デフォルトの名無しさん (ワッチョイ 5bc9-oo3f) mailto:sage [2016/07/10(日) 01:26:28.83 ID:9l5lNFa80.net] >>425 それ言ったら for (i=0; i < length; i++) というコーディングも駄目になってしまう。 最後にiは範囲外の値になってループを抜けるのだから。
438 名前:デフォルトの名無しさん (ワッチョイ d3a3-oo3f) mailto:sage [2016/07/10(日) 01:28:22.97 ID:f4MF0Zqn0.net] Googleの スタイルガイドにもあるね www.textdrop.net/google-styleguide-ja/cppguide.xml?showone=%E6%95%B4%E6%95%B0%E5%9E%8B#%E6%95%B4%E6%95%B0%E5%9E%8B 自分はループインデックスにsize_t使う派だけど 基本std::for_eachか使えるなら範囲forで回しちゃうな
439 名前:デフォルトの名無しさん (ワッチョイ 5b7b-Cxy9) mailto:sage [2016/07/10(日) 01:55:02.05 ID:Hf6Ci9f/0.net] for (unsigned int i = foo.Length()-1; i >= 0; --i) ... この書き方がforの再初期化を必ず使わなきゃいけないという頭カチカチの発想なだけで for (unsigned int i = foo.Length(); i > 0; ) { --i; ... こうすればいいだけ foo.Length()-1 を不自然に思わないのがそもそもおかしい
440 名前:デフォルトの名無しさん (ワッチョイ 9733-oo3f) mailto:age [2016/07/10(日) 01:55:24.79 ID:OTBSIlSO0.net] >>426 知ってる。 >>427 その通りだと思う。 で、俺のレスのどこに不満なの?
441 名前:デフォルトの名無しさん (ワッチョイ 9733-oo3f) mailto:age [2016/07/10(日) 01:56:41.26 ID:OTBSIlSO0.net] >>429 まぁ、そうだけど、それはさすがに一般的ではないような…
442 名前:デフォルトの名無しさん (ワッチョイ 9733-oo3f) mailto:age [2016/07/10(日) 02:00:37.14 ID:OTBSIlSO0.net] >>429 俺ならこう書くかな。 批判は受け付ける。 unsigned int i = foo.Length(); while (i--) ...
443 名前:デフォルトの名無しさん (ワッチョイ 5bc9-oo3f) mailto:sage [2016/07/10(日) 02:02:03.48 ID:9l5lNFa80.net] >>429 そのコードの危険性を知っている人はそうするだろうけど、 末尾から要素を遡っていくコードを初めて書く人は、 正順の場合からの類推でコードを書いてしまうんじゃないかな? こうすればいいというのは、どんな事にも言えることだけど、 人間はミスしやすいという前提のもとでコーディングすべきだからね。 それと、あくまでそれは最も単純化されたケースであって、 もっと複雑なケースになると気づかないかもしれなk。 もちろんunsignedを使わないことによるデメリットもある。 そのメリット・デメリットを天秤に掛けて、Googleはunsignedは デメリットが上回ると判断したということ。これが唯一正解というわけでもない。
444 名前:デフォルトの名無しさん (ワッチョイ 9733-oo3f) [2016/07/10(日) 02:10:13.12 ID:OTBSIlSO0.net] >>428 いま原文読んだけど、 When appropriate, you are welcome to use standard types like size_t and ptrdiff_t. とも書いてあるね。 配列のインデクスに使うなら適切な用途じゃないかな? イテレータやrange base使えるなら俺も使うなー。
445 名前:デフォルトの名無しさん (ワッチョイ ef02-Bfmi) mailto:sage [2016/07/10(日) 02:13:25.37 ID:P9VxqMIa0.net] VCのスペニットではfor (int i = length - 1; i >= 0; i--)がデフォで入るようになっている MSでもintなんじゃないの
446 名前:デフォルトの名無しさん (ワッチョイ 5be7-3Gy/) mailto:sage [2016/07/10(日) 02:18:41.58 ID:dveZE7kz0.net] >>435 そこはINTにしないと、0の時の判断ができない。 インデックス0が漏れないようにintにしないといけない。
447 名前:デフォルトの名無しさん (ワッチョイ 4375-19Go) mailto:sage [2016/07/10(日) 02:24:26.73 ID:2LXVtN9I0.net] >>429 普通、こうだろ for (unsigned int i = length; --i < length;)
448 名前:デフォルトの名無しさん (ワッチョイ 5b6f-g4/6) mailto:sage [2016/07/10(日) 02:26:05.46 ID:VTpXzLJa0.net] --iとか絶対使いたくないわwwww
449 名前:デフォルトの名無しさん (ワッチョイ ef02-Bfmi) mailto:sage [2016/07/10(日) 02:34:42.29 ID:P9VxqMIa0.net] 曲芸大会じゃねえぞ
450 名前:デフォルトの名無しさん (ワッチョイ 5b7b-Cxy9) mailto:sage [2016/07/10(日) 02:37:29.56 ID:Hf6Ci9f/0.net] 終了条件がアンダーフローとかそういうのマジやめようってw
451 名前:デフォルトの名無しさん (アウアウ Sa1f-uVi+) mailto:sage [2016/07/10(日) 05:14:44.32 ID:iF0L9ZkEa.net] もう境界値とかダウンカウンタとか、問題の本質的ロジックからかけ離れた雑多なことにウダウダと煩わされていつまでも話が進まないで禿げていくのはうんざりだ! 俺は関数型に行くぞ! 留めるな!
452 名前:デフォルトの名無しさん (ワッチョイ 4763-oo3f) mailto:sage [2016/07/10(日) 06:06:48.11 ID:S+kSiVGt0.net] >>402 ,404 回答ありがとう。 他の言語で符合付きや32ビット整数を使っ定留ものが有るのに一択とまで言えるものかと思った。 標準ライブラリは確かに符合無しに統一されているけど、配列に関しては *((E1)+(E2))のポインター演算なので符合有無は規定されていないような
453 名前:デフォルトの名無しさん (オッペケ Sr1f-oo3f) mailto:sage [2016/07/10(日) 06:30:33.91 ID:yNmq0uE7r.net] そういえばargcってintだよな
454 名前:デフォルトの名無しさん (オッペケ Sr1f-oo3f) mailto:sage [2016/07/10(日) 06:33:12.88 ID:yNmq0uE7r.net] --iはキャッシュがミスヒットして遅くなりそうだ
455 名前:名無しさん@そうだ選挙に行こう! Go to vote! (ワッチョイ 375b-cFDw) mailto:sage [2016/07/10(日) 08:38:47.33 ID:2ZoGWH1d0.net] パイプラインな
456 名前:名無しさん@そうだ選挙に行こう! Go to vote! (ワッチョイ 5b7b-Cxy9) mailto:sage [2016/07/10(日) 12:41:52.96 ID:Hf6Ci9f/0.net] 誰か止めてあげてよ…>>441 の脱毛を
457 名前:名無しさん@そうだ選挙に行こう! Go to vote! (ワッチョイ 4763-oo3f) mailto:sage [2016/07/10(日) 12:51:21.78 ID:S+kSiVGt0.net] 気にしない心を養うしかない
458 名前:名無しさん@そうだ選挙に行こう! Go to vote! (ワッチョイ ef02-Bfmi) mailto:sage [2016/07/10(日) 13:06:39.09 ID:P9VxqMIa0.net] 専ブラを削除しろ
459 名前:名無しさん@そうだ選挙に行こう! Go to vote! (ワッチョイ 030a-UmxN) [2016/07/10(日) 13:16:51.17 ID:eFNyzmAJ0.net] あの程度で曲芸とか冗談は顔だけにしろよまったく 話にならんわ
460 名前:デフォルトの名無しさん (ワッチョイ 837b-kN9e) mailto:sage [2016/07/10(日) 20:00:57.50 ID:aQVpsFu00.net] いや、副作用のある動作と条件比較を混ぜるなっていうありきたりの話だと思うが。。
461 名前:デフォルトの名無しさん (ワッチョイ b37b-zDc6) mailto:sage [2016/07/10(日) 20:41:43.58 ID:Gr2UhEX/0.net] オレ様ルールを強要し始めたぞ
462 名前:デフォルトの名無しさん (ワッチョイ 030a-UmxN) [2016/07/10(日) 21:24:54.34 ID:eFNyzmAJ0.net] へー、for文に副作用を混ぜるなってかwwwwwwwwwwwww
463 名前:デフォルトの名無しさん (ワッチョイ 478b-3Gy/) mailto:sage [2016/07/10(日) 22:21:49.43 ID:wRb2B0iG0.net] つか配列アクセスの度にカウンタのオーバーフロー(or アンダーフロー)の 境界条件を異様に意識したトリッキーなループを繰り返し書く (ことを他人にも強いる)のもバグの元だと思うので、 配列にデータを追加する(or 削除する)際に要素数が境界条件にならないように 水際作戦でたたいて入国後のドメインにおいて自然なループが問題なく動くことを保証する、 というのが精神衛生的に正しい つか汎用ライブラリの設計ならともかく、普通のアプリレベルのプログラミングなら 配列のサイズの上限を見積もれるはず…(ていうかそれしないのは設計の手抜き
464 名前:デフォルトの名無しさん (ワッチョイ 030a-UmxN) [2016/07/10(日) 22:58:10.62 ID:eFNyzmAJ0.net] オーバーフローでぐらつくのは不等号による判定だろ 標準でさえ<algorithm>の関数はそんなことしてねーっつの
465 名前:デフォルトの名無しさん (ワッチョイ 478b-3Gy/) mailto:sage [2016/07/10(日) 23:20:23.13 ID:wRb2B0iG0.net] >>454 イテレータとend()との等値比較のことなら、それは不等号による判定と同じ問題 (「最終要素の次」の要素へのリニアなアクセスが必須)を抱えており問題解決になっていないのでは…
466 名前:455 (ワッチョイ 478b-3Gy/) mailto:sage [2016/07/10(日) 23:30:06.36 ID:wRb2B0iG0.net] 訂正 誤: アクセス 正: アドレッシング
467 名前:デフォルトの名無しさん (ワッチョイ 47cd-Bmei) mailto:sage [2016/07/11(月) 00:57:25.60 ID:C7uLT2ni0.net] TCHAR* からstd::wstring::iteratorへ変換ってできませんか? TCHAR* pbegin; TCHAR* pend; std::wstring ws(pbegin,pend);//わざわざstd::wstringを作って foo(ws.begin(),ws.end());//に渡しています。
468 名前:デフォルトの名無しさん (ワッチョイ efcc-oo3f) mailto:sage [2016/07/11(月) 01:35:27.15 ID:AU3jceXp0.net] 馬鹿は知らなくていい
469 名前:片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK5f-fi14) mailto:sage [2016/07/11(月) 01:43:19.60 ID:htK4V8FQK.net] >>457 ポインターも一種のイテレータだから std::wstring foo(pch, pch + 100);
470 名前:デフォルトの名無しさん (ワッチョイ 47cd-Bmei) mailto:sage [2016/07/11(月) 02:01:42.30 ID:C7uLT2ni0.net] >>459 なんで質問と同じことをかいているのですか?
471 名前:片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK5f-fi14) mailto:sage [2016/07/11(月) 02:14:57.83 ID:htK4V8FQK.net] ターゲットのテンプレート関数に対して、std::wstring::iterater以外にWCHAR*も渡せるはず。 渡せないならターゲットの仕様がおかしい。
472 名前:デフォルトの名無しさん (ワッチョイ 47cd-Bmei) mailto:sage [2016/07/11(月) 03:02:41.43 ID:Jemv0IH60.net] >>461 boostなんですが・・・
473 名前:デフォルトの名無しさん (ワッチョイ 478b-3Gy/) mailto:sage [2016/07/11(月) 07:21:29.26 ID:jEhnOLsx0.net] >>454 スマンイテレータとend()との等値比較なら問題無かった 配列が論理的メモリ空間の後端に接した場合のみ問題となり得るが、 多分Cの配列に関する「最終要素の次のポインタは合法(記憶モード」というのと 同じような規定がC++にもあると思うので、だったらそういうケースは無い >>457 TCHARを使うのならstd::wstringよりstd::basic_string<TCHAR>の方が適切なのでは…
474 名前:デフォルトの名無しさん (オッペケ Sr1f-oo3f) mailto:sage [2016/07/11(月) 08:13:42.33 ID:xAqvosA3r.net] >同じような規定がC++にもあると思うので はいはいありますよっと 5.7 Additive operators段落5
475 名前:デフォルトの名無しさん (スプー Sdbf-oo3f) [2016/07/11(月) 11:14:36.90 ID:pIByFA2bd.net] char str[32]; … throw std::runtime_error(str); ローカル変数をruntime_errorに渡してスローしても平気ですか
476 名前:デフォルトの名無しさん (ワッチョイ efcc-oo3f) mailto:sage [2016/07/11(月) 11:20:49.90 ID:AU3jceXp0.net] ズブの素人かよ
477 名前:デフォルトの名無しさん (アウアウ Sa1f-uVi+) mailto:sage [2016/07/11(月) 12:20:07.96 ID:FqLj7DMqa.net] >>465 貴方のために特別にスレを用意させていただきました。お楽しみください 【初心者歓迎】C/C++室 Ver.98【環境依存OK】 echo.2ch.net/test/read.cgi/tech/1464601947/
478 名前:デフォルトの名無しさん (ワッチョイ 4763-oo3f) mailto:sage [2016/07/11(月) 20:15:14.30 ID:LmFbrJjH0.net] >>461 >渡せないならターゲットの仕様がおかしい。 おかしいのは仕様でなく fooがテンプレート関数と勝手に思い込んでしまうお前ではないのか
479 名前:片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK5f-fi14) mailto:sage [2016/07/11(月) 21:29:40.88 ID:htK4V8FQK.net] >>468 確かに。粗暴な酔っぱらいと十年間口喧嘩して たら、強迫観念の強い人格が形成されてしまった。 治しようがない。
480 名前:デフォルトの名無しさん (ワッチョイ 333c-oo3f) mailto:sage [2016/07/13(水) 11:39:53.69 ID:Bfp969pa0.net] クソコテはまずアスペを治すべき イミフメなカタコトレスと レスを読まない脊髄反射がおおすぎる
481 名前:デフォルトの名無しさん (ブーイモ MMbf-oo3f) mailto:sage [2016/07/13(水) 13:44:07.01 ID:i/eveQdpM.net] つーか、条件をよく理解しないで 思い込みでどんどん進めるのはバグの元なのだが、 偉そう書いてる糞小手は本当にプログラムかけるんかと
482 名前:デフォルトの名無しさん (ワッチョイ 2f66-pZ75) mailto:sage [2016/07/13(水) 13:49:29.88 ID:W63IGgJQ0.net] フォントのアウトラインからインラインを作成するにはどのような アルゴリズムにするのが良いですか?
483 名前:デフォルトの名無しさん (ワンミングク MMbf-esBB) [2016/07/13(水) 14:13:48.11 ID:A4PM+2wNM.net] >>471 気になるならGitHubで公開してるみたいだから見たら?
484 名前:デフォルトの名無しさん (ブーイモ MM9f-oo3f) mailto:sage [2016/07/13(水) 17:48:56.36 ID:PYU+1FcHM.net] >>473 どうでもいい
485 名前:デフォルトの名無しさん (ワッチョイ 4763-oo3f) mailto:sage [2016/07/13(水) 21:14:23.15 ID:pLABqRcL0.net] コテハン=自己顕示欲旺盛 つまりクソコテとの対話は最低限に抑えなるべくスルーするのが吉
486 名前:デフォルトの名無しさん (ワッチョイ 6f16-UmxN) [2016/07/13(水) 21:47:07.72 ID:ronhkAK10.net] コテハン叩きは出てけ それが2chの方針だ
487 名前:デフォルトの名無しさん (アウアウ Sa1f-uVi+) mailto:sage [2016/07/13(水) 22:01:23.60 ID:4HOrELjda.net] 自身の希望を2chの総意であるかのように大きく見せて騙る、虎の威を借る狐は詭弁の典型
488 名前:デフォルトの名無しさん (ガラプー KK5f-fi14) mailto:sage [2016/07/13(水) 23:06:13.49 ID:CH15Mi9JK.net] コテハンは全員出ていけ!!!
489 名前:デフォルトの名無しさん (ガラプー KK5f-fi14) mailto:sage [2016/07/13(水) 23:09:44.40 ID:CH15Mi9JK.net] 糞小手のくせに生意気なんだよ!
490 名前:デフォルトの名無しさん (ワッチョイ 83a6-Bfmi) mailto:sage [2016/07/13(水) 23:34:08.11 ID:s9xlcL0i0.net] 糞コテとかひとくくりにするなよ、コテハンみんながみんな脳みそド腐れゲロブタ片山みたいな奴ばっかじゃ… と思ったけどム板のコテハンはキチガイしか居ねえやそういえば
491 名前:デフォルトの名無しさん (ガラプー KK5f-fi14) mailto:sage [2016/07/13(水) 23:48:50.78 ID:CH15Mi9JK.net] >>480 今、団子さんを馬鹿にしたね! 訴えてやる!
492 名前:デフォルトの名無しさん (ガラプー KK6b-7GzA) mailto:sage [2016/07/14(木) 00:41:55.53 ID:5AZo8uCyK.net] 小手のいないム板 沈黙の夏
493 名前:デフォルトの名無しさん (ワッチョイ 3ec0-jb5v) mailto:sage [2016/07/14(木) 05:38:06.25 ID:1nxFg35t0.net] スティーブンセガール主演
494 名前:デフォルトの名無しさん (ワッチョイ f08b-L3Fl) mailto:sage [2016/07/17(日) 01:44:56.32 ID:RtgpWl6x0.net] 味わい深いコード貼る(VC++(2010)の<stdlib.h>) extern "C++" { template <typename _CountofType, size_t _SizeOfArray> char (*__countof_helper(UNALIGNED _CountofType (&_Array)[_SizeOfArray]))[_SizeOfArray]; #define _countof(_Array) (sizeof(*__countof_helper(_Array)) + 0) } これはsizeof(Array)/sizeof(Array[0])と似たような機能(配列の要素数を返す)だが 配列ではなくてポインタを渡したときコンパイル時エラーになる点が偉い
495 名前:デフォルトの名無しさん (ワッチョイ f063-4wno) mailto:sage [2016/07/20(水) 22:34:52.62 ID:pWu0Kkne0.net] >>465 プログラムにも依るがまあ概ね問題ないだろう
496 名前:デフォルトの名無しさん (スッップ Sd5f-eQ6f) [2016/07/22(金) 13:23:33.19 ID:sQegyotSd.net] void hoge() { printf( "A\n" ); } template< typename ... Args > void hoge( Args&& ... args ) { printf( "B\n" ); } template< typename ... Args > void hage( Args&& ... args ) { hoge( args ... ); } hoge(); hage(); hage( 111 ); hage経由でhogeを呼び出した場合、引数無しでもBが呼ばれるようにするには どうすればいいですか
497 名前:デフォルトの名無しさん (ワッチョイ f7fe-4/kG) [2016/07/22(金) 13:38:25.76 ID:Kn/DLmV30.net] if(sizeof...(args) == 0) hoge<>(); else hoge( args ... );
498 名前:デフォルトの名無しさん (ワッチョイ e763-eQ6f) mailto:sage [2016/07/22(金) 13:53:10.65 ID:hA1h7uZB0.net] ハゲの中身を hoge<>( args ... );
499 名前:デフォルトの名無しさん (スッップ Sd5f-eQ6f) [2016/07/22(金) 13:58:27.57 ID:sQegyotSd.net] struct hoge { hoge() { printf( "A\n" ); } template< typename ... Args > hoge( Args&& ... args ) { printf( "B\n" ); } }; template< typename ... Args > void hage( Args&& ... args ) { hoge( args ... ); } なるほどわかりました。 この場合はどうやって呼び分ければいいでしょうか。
500 名前:デフォルトの名無しさん (スプッッ Sd5f-eQ6f) mailto:sage [2016/07/22(金) 14:14:11.27 ID:0LYPsk9md.net] どうでもいいけど std::forward つけろ
501 名前:デフォルトの名無しさん (スッップ Sd5f-eQ6f) [2016/07/22(金) 14:17:45.83 ID:sQegyotSd.net] >>490 必要ないので付けません
502 名前:デフォルトの名無しさん (スプッッ Sd5f-eQ6f) mailto:sage [2016/07/22(金) 14:22:23.83 ID:0LYPsk9md.net] あっそう
503 名前:デフォルトの名無しさん (ワッチョイ e763-eQ6f) mailto:sage [2016/07/22(金) 14:23:19.94 ID:hA1h7uZB0.net] 呼び出す技は見たことが無いな ISO/IEC 14882:2014 14.8p7 [ Note: Because the explicit template argument list follows the function template name, and because conversion member function templates and constructor member function templates are called without using a function name, there is no way to provide an explicit template argument list for these function templates. —end note ]
504 名前:デフォルトの名無しさん (ワッチョイ 6f02-iqWO) mailto:sage [2016/07/22(金) 20:05:14.67 ID:Sc54Iv7K0.net] >>489 普通に引数無しでAが呼ばれるんだが何を困ってるんだ
505 名前:デフォルトの名無しさん (スップ Sd5f-eQ6f) [2016/07/22(金) 20:18:02.65 ID:EwwqDHiTd.net] >>494 びい〜が呼びたい〜
506 名前:デフォルトの名無しさん (ガラプー KKaf-/nZE) mailto:sage [2016/07/22(金) 20:20:29.23 ID:Ah0vbZMhK.net] >>495 hoge() { printf( "A\n" ); } を消せ
507 名前:デフォルトの名無しさん (ワッチョイ 6f02-iqWO) mailto:sage [2016/07/22(金) 20:21:39.32 ID:Sc54Iv7K0.net] >>495 どっちかしか呼ばれないに決まってるだろ
508 名前:デフォルトの名無しさん (ワッチョイ e763-eQ6f) mailto:sage [2016/07/22(金) 20:22:23.44 ID:hA1h7uZB0.net] >引数無しでもBが呼ばれるようにするにはどうすればいいですか ↓ >引数無しでAが呼ばれるんだが何を困ってるんだ 回答者のオツムに困っているのかも知れん
509 名前:デフォルトの名無しさん (ワッチョイ e763-eQ6f) mailto:sage [2016/07/22(金) 20:25:49.83 ID:hA1h7uZB0.net] >どうやって呼び分ければいいでしょうか ↓ >hoge() { printf( "A\n" ); } を消せ やはり多くの回答者のオツムに問題が有るようだ
510 名前:デフォルトの名無しさん (ワッチョイ e763-eQ6f) mailto:sage [2016/07/22(金) 20:32:19.96 ID:hA1h7uZB0.net] >Aが呼ばれるんだが何を困ってるんだ ↓ >びい〜が呼
511 名前:びたい ↓ >どっちかしか呼ばれないに決まってるだろ どうしてこう、アスペが多いのか [] [ここ壊れてます]
512 名前:デフォルトの名無しさん (ガラプー KKaf-/nZE) mailto:sage [2016/07/22(金) 20:48:04.49 ID:Ah0vbZMhK.net] template< typename T,typename ... Args > hoge(T& t, Args&& ... args ) { printf( "B\n" ); }
513 名前:デフォルトの名無しさん (ワッチョイ e763-eQ6f) mailto:sage [2016/07/22(金) 20:55:48.11 ID:hA1h7uZB0.net] >引数無しでもBが呼ばれるようにするにはどうすればいいですか ↓ >hoge(T& t, Args&& ... args ) { printf( "B\n" ); }
514 名前:デフォルトの名無しさん (ガラプー KKaf-/nZE) mailto:sage [2016/07/22(金) 21:00:49.83 ID:Ah0vbZMhK.net] ※未承認広告※ アベマテレビ見てね <
515 名前:デフォルトの名無しさん (ワッチョイ e763-eQ6f) mailto:sage [2016/07/22(金) 21:04:39.12 ID:hA1h7uZB0.net] 呼び分ける方法が思いつかないので、タグで分けるしか無いのではないか ideone.com/dzwKF2
516 名前:デフォルトの名無しさん (アウアウ Sa0f-wUeg) mailto:sage [2016/07/22(金) 21:56:50.43 ID:CLk2GU9ka.net] ハゲをバカにする奴には答えない
517 名前:デフォルトの名無しさん (ワッチョイ 6fcc-eQ6f) mailto:sage [2016/07/22(金) 22:21:19.23 ID:kYMBASaH0.net] なんでもかんでもアスペ扱いするヤツには答えない
518 名前:デフォルトの名無しさん (ワッチョイ efa6-4/kG) [2016/07/22(金) 22:55:11.08 ID:3tjkacqM0.net] という答えをやるな ぼけ
519 名前:デフォルトの名無しさん (ワッチョイ 6fcc-eQ6f) mailto:sage [2016/07/22(金) 23:03:54.82 ID:kYMBASaH0.net] という答えで十分
520 名前:デフォルトの名無しさん (ガラプー KKaf-/nZE) mailto:sage [2016/07/22(金) 23:14:19.37 ID:Ah0vbZMhK.net] 仲良くしようぜ /////∩∩ *〜⊂ ̄ ̄(@_@)⊃ /⊂____⊃
521 名前:デフォルトの名無しさん (ワッチョイ e763-eQ6f) mailto:sage [2016/07/23(土) 03:40:37.38 ID:EbL5LwDu0.net] なるほど。アスペは回答を期待されている質問文だと認識してしまうようだな
522 名前:デフォルトの名無しさん (ワッチョイ ebe7-pFeQ) mailto:sage [2016/07/23(土) 03:57:18.58 ID:eW1MzkCP0.net] あなた……怠惰ですね。
523 名前:デフォルトの名無しさん (ワッチョイ ef23-eQ6f) [2016/07/23(土) 04:38:56.41 ID:mN4MO6Sp0.net] >>511 ペテルギウスさん、ちーす!
524 名前:デフォルトの名無しさん (ワッチョイ 6fcc-eQ6f) mailto:sage [2016/07/23(土) 06:14:12.54 ID:szJiLEKR0.net] >>504 テメェも設問にマトモに答えられないアスペだろ
525 名前:デフォルトの名無しさん (アウアウ Sa0f-wUeg) mailto:sage [2016/07/23(土) 10:42:37.96 ID:iCoBongSa.net] 不毛タイム
526 名前:デフォルトの名無しさん (ワッチョイ e763-eQ6f) mailto:sage [2016/07/23(土) 13:27:52.13 ID:EbL5LwDu0.net] >どうすればいいですか ↓ >方法が思いつかないので、タグで分けるしか無いのではないか ↓ >テメェも設問にマトモに答えられないアスペ 本人に自覚はあったのは意外だが、まさかアスペの意味を理解していなかったとは
527 名前:デフォルトの名無しさん (オッペケ Sr8f-eQ6f) mailto:sage [2016/07/23(土) 18:37:17.39 ID:AI9wBPX1r.net] ドラフト読んだけど名前空間std2が予約って何だよ そんな名前予約すんなよ
528 名前:デフォルトの名無しさん (ワッチョイ f37b-W23Y) [2016/07/23(土) 18:55:28.37 ID:A6FplB4j0.net] >>516 なんで?
529 名前:デフォルトの名無しさん (オッペケ Sr8f-eQ6f) mailto:sage [2016/07/23(土) 19:06:16.58 ID:AI9wBPX1r.net] >>517 ワイがめっちゃ使っとるやろ!
530 名前:デフォルトの名無しさん (アウアウ Sa0f-wUeg) mailto:sage [2016/07/23(土) 20:19:25.17 ID:iCoBongSa.net] 代わりにstdII使って
531 名前:デフォルトの名無しさん (ワッチョイ f37b-W23Y) [2016/07/23(土) 22:36:57.48 ID:A6FplB4j0.net] >>518 よくそんなすぐに被りそうな名前空間にする気になったよね。お前が。
532 名前:デフォルトの名無しさん (ワッチョイ 6f02-iqWO) mailto:sage [2016/07/23(土) 23:58:23.30 ID:FCeIQ60g0.net] 文字列くらい置換したらいいじゃん
533 名前:デフォルトの名無しさん (ワッチョイ 6f02-iqWO) mailto:sage [2016/07/24(日) 02:55:47.37 ID:5sU7HzVD0.net] えすてぃーでぃーにに変えろ
534 名前:デフォルトの名無しさん (ワッチョイ 6fcc-eQ6f) mailto:sage [2016/07/24(日) 07:40:19.77 ID:ykHvYHf10.net] mystdとかにしておけば良かったのに
535 名前:デフォルトの名無しさん (ワッチョイ 5f7b-tmF6) mailto:sage [2016/07/24(日) 07:44:38.65 ID:eQVAbgyz0.net] standardの意味くらい調べてから命名すべきだったな
536 名前:デフォルトの名無しさん (ワッチョイ efa6-4/kG) [2016/07/24(日) 10:24:49.58 ID:dMdy+PiO0.net] std 性病 i 陰部 o 肛門 . h 変態
537 名前:デフォルトの名無しさん (ワッチョイ 6fcc-eQ6f) mailto:sage [2016/07/24(日) 10:36:24.01 ID:ykHvYHf10.net] C覚えたての頃はスタジオHって暗唱していた
538 名前:デフォルトの名無しさん (ワッチョイ 93a8-iqWO) mailto:sage [2016/07/24(日) 11:40:16.61 ID:eS/xf0XC0.net] #include <studio.h>
539 名前:デフォルトの名無しさん (ワッチョイ efa6-4/kG) [2016/07/24(日) 15:05:32.39 ID:dMdy+PiO0.net] ios_base::sync_with_visual_studio();
540 名前:デフォルトの名無しさん (ワッチョイ ff5b-eQ6f) mailto:sage [2016/07/24(日) 15:13:21.04 ID:9GVzysje0.net] 質問です。 castってオーバーロードできますか? クラスがintを返す時、(int)classの値を例えば0にしてみたいのです。
541 名前:デフォルトの名無しさん (スプッッ Sd5f-eQ6f) mailto:sage [2016/07/24(日) 15:37:58.41 ID:BLnPFlx1d.net] >>529 ideone.com/S9NtzP
542 名前:デフォルトの名無しさん (ワッチョイ ff5b-eQ6f) mailto:sage [2016/07/24(日) 16:30:44.66 ID:9GVzysje0.net] >>530 有難うございます。
543 名前:デフォルトの名無しさん (ワッチョイ 6f17-eQ6f) mailto:sage [2016/07/24(日) 22:18:42.32 ID:OGjQDkhc0.net] >>526 おまおれ
544 名前:デフォルトの名無しさん (スプッッ Sd5f-eQ6f) [2016/07/25(月) 16:41:23.85 ID:VyZR+Bn1d.net] std::listでrevers_iteratorを使ってリストの末尾から順番にeras
545 名前:eする スマートな書き方を教えてください forループも使ってください [] [ここ壊れてます]
546 名前:デフォルトの名無しさん (オッペケ Sr8f-eQ6f) mailto:sage [2016/07/25(月) 18:29:54.61 ID:iOqkLQzxr.net] >教えてください 答えてみやがれです の間違いやろ?
547 名前:デフォルトの名無しさん (ワッチョイ ebe7-pFeQ) mailto:sage [2016/07/25(月) 21:10:32.53 ID:ojkGdUU90.net] eraseってリバースイテレータ取れないんだっけか?
548 名前:デフォルトの名無しさん (ワッチョイ efa6-4/kG) [2016/07/25(月) 21:33:58.48 ID:05bqrx670.net] おかしいね ランダムアクセスを要求される
549 名前:デフォルトの名無しさん (ワッチョイ ef23-eQ6f) [2016/07/25(月) 22:41:10.38 ID:ty0wQR+A0.net] std::list<int> foo; //適当にfooにつっこんで… for (std::list<int>::reverse_iterator i = foo.rbegin(); i != foo.rend(); i = foo.erase(i)) ; とか、こんな感じじゃね? 試してないけど。
550 名前:デフォルトの名無しさん (ブーイモ MM4f-eQ6f) mailto:sage [2016/07/25(月) 22:42:44.23 ID:k9lfHv/VM.net] >>536 双方向イテレータでないの?
551 名前:デフォルトの名無しさん (スプッッ Sd5f-eQ6f) [2016/07/25(月) 22:49:12.61 ID:+lTMfES8d.net] >>537 できないです
552 名前:デフォルトの名無しさん (ワッチョイ ef23-eQ6f) [2016/07/25(月) 23:16:42.24 ID:ty0wQR+A0.net] >>539 ありゃー。 じゃあ、 const_reverse_iterator つかうか、 更新式を foo.erase(i++) にするか、 かなあ? PC使えりゃすぐにためすんだが…すまん。
553 名前:デフォルトの名無しさん (ワッチョイ ef23-eQ6f) [2016/07/25(月) 23:18:07.18 ID:ty0wQR+A0.net] >>540 まちがえた。 foo.erase((i++).base()) かな。
554 名前:デフォルトの名無しさん (ワッチョイ 8fd3-ElRI) mailto:sage [2016/07/25(月) 23:20:33.13 ID:dxtzmbYy0.net] >>539 https://ideone.com/wFVzOR
555 名前:デフォルトの名無しさん (ワントンキン MMdf-eQ6f) mailto:sage [2016/07/26(火) 22:34:57.25 ID:SZ1z99USM.net] std::vectorの先頭ポインタ書き換える方法ありませんか? double data[] = { 3, 4, 5, 6 }; std::vector<double> vec(4); vec.data() = data; みたいなことがしたいのですが…
556 名前:デフォルトの名無しさん (ワッチョイ e763-eQ6f) mailto:sage [2016/07/26(火) 22:40:11.45 ID:xAh7+JRz0.net] 有りません
557 名前:デフォルトの名無しさん (ワッチョイ 1fa6-iqWO) mailto:sage [2016/07/26(火) 23:03:27.06 ID:BPIR2sef0.net] >>543 swapではダメなのか?
558 名前:デフォルトの名無しさん (ワントンキン MMdf-eQ6f) mailto:sage [2016/07/27(水) 00:38:36.13 ID:TMT1qAgWM.net] >>545 やってみましたがダメでした double*を引数で受け取って、インターフェースがstd::vector&の関数に渡したいんですよね std::vectorをコンストラクトして、出来上がりをdouble* にcopyしてるんですが、直接コピーできないかなと
559 名前:デフォルトの名無しさん (ワッチョイ 6f02-iqWO) mailto:sage [2016/07/27(水) 00:58:37.81 ID:YZqh7UV50.net] VC++ならこうしろ double *p = std::vector<double>().get_allocator().allocate(n); std::vector<double> vec(); vec._Get_data()._Myfirst = &p[0]; vec._Get_data()._Myend = &p[n - 1]; vec._Get_data()._Mylast = &p[n - 1] + 1;
560 名前:デフォルトの名無しさん (ワッチョイ ebc9-eQ6f) mailto:sage [2016/07/27(水) 01:02:19.86 ID:vduqjvt90.net] 直接コピーできたらやばいけどね。 array_to_vector みたいなテンプレート関数を自分で作って、 普通にコピーするのがいいんじゃないの。
561 名前:デフォルトの名無しさん (ワッチョイ ebe7-pFeQ) mailto:sage [2016/07/27(水) 04:20:00.98 ID:setK5v4U0.net] static const size_t N = 10; double a[N]={0,}; std::vector<double> v(a,&a[N]); って感じでやるのが手間なくていいかなぁと思うけど。 メモリ増えてまずい理由があるんなら明示してちょ。
562 名前:デフォルトの名無しさん (ワッチョイ ebe7-pFeQ) mailto:sage [2016/07/27(水) 04:24:51.25 ID:setK5v4U0.net] そもそも、プログラム規約で変数の扱いを決めたらどうだ? 配列はVectorつかえとか。Cとの接着でもやってるのか?
563 名前:デフォルトの名無しさん (アウアウ Sa0f-wUeg) mailto:sage [2016/07/27(水) 05:16:16.71 ID:2biil9ema.net] {0,};
564 名前:デフォルトの名無しさん (ワッチョイ ebe7-pFeQ) mailto:sage [2016/07/27(水) 05:16:50.95 ID:setK5v4U0.net] 何か間違ってるか?
565 名前:デフォルトの名無しさん (ワッチョイ efa6-4/kG) [2016/07/27(水) 08:53:15.11 ID:MJRwHMiv0.net] >>547 それじゃvecがオブジェクトじゃなく関数になっちまう
566 名前:デフォルトの名無しさん (ワッチョイ efa6-4/kG) [2016/07/27(水) 08:57:23.32 ID:MJRwHMiv0.net] そもそも std::vector<double> vec { 3, 4, 5, 6 }; とできるし、 C++98なら std::vector<double> vec(data, *(&data + 1)); だろ
567 名前:デフォルトの名無しさん (ワッチョイ ebe7-pFeQ) mailto:sage [2016/07/27(水) 09:00:45.37 ID:setK5v4U0.net] >>554 あー、意図伝わってないね。 イテレータ渡しができたはずなんだけど、それでvectorにコピーを促せる。 ポインタだとできなかったっけ?
568 名前:デフォルトの名無しさん (ワッチョイ ebe7-pFeQ) mailto:sage [2016/07/27(水) 09:14:46.35 ID:setK5v4U0.net] ideone.com/RS7Grd こういう感じのことを言いたかった。 んで、メモリが増えることについて、問題があったら何が問題なのか明示してね。 と書いた。
569 名前:デフォルトの名無しさん (スプッッ Sd5f-eQ6f) mailto:sage [2016/07/27(水) 10:19:19.80 ID:jeP9lH/Od.net] たぶん元の質問は各要素のコピーを避けてポインタを直接vectorに管理させたいんだろう。 けっこうめんどくさいと思う。 資源管理だけが目的ならstd::unique_ptr<double[]> を使えるんだが。
570 名前:デフォルトの名無しさん (ワッチョイ efa6-4/kG) [2016/07/27(水) 10:30:55.97 ID:MJRwHMiv0.net] >>555-556 ごめん、言いたいことがわからない 554でC++98ならって書いたのはまさしくポインタだし ビルトイン配列のイテレータはランダムなので end(data)-begin(data)でサイズでるし
571 名前:デフォルトの名無しさん (ワッチョイ eb7b-TH81) mailto:sage [2016/07/27(水) 10:49:07.73 ID:bkJFnNRE0.net] 質問者はコピーが2回入るのを避けたいってことだろ std::vectorじゃ無理だね
572 名前:デフォルトの名無しさん (ワッチョイ ebe7-pFeQ) mailto:sage [2016/07/27(水) 10:49:08.84 ID:setK5v4U0.net] >>558 あーすまん。 C++98の部分。アドレス値個分を*(data+1)で初期化するのかと思った。 今回の&が何を意味してるかちょっと分からない。すまん。 >>557 俺もイリーガルな欲望だと思う。 普通にコピーして結果をゲットすれば割となんとでもなるんじゃ?と思った。 参照だから、改変された部分はもとに還元できるじゃないかなぁ。と。
573 名前:デフォルトの名無しさん (ワッチョイ 6f02-iqWO) mailto:sage [2016/07/27(水) 12:43:17.99 ID:YZqh7UV50.net] >std::vectorの先頭ポインタ書き換える方法ありませんか? つまりコピーせずに既存の配列のポインタを付け替えてvectorで管理できるようにしたいということだろ 標準の仕様では無理 どうしてもしたければ#define private publicとかして直接ポインタ変数を書き換えるしかない できなくはないが全く保証の無いクソコードなので止めた方がいい
574 名前:デフォルトの名無しさん (ワッチョイ f37b-W23Y) [2016/07/27(水) 12:50:18.27 ID:+xrdoiGB0.net] そもそも元の質問はスタックの配列として書いてるから、そのポインタを移植性のない方法を用いてvectorに持たせても動くわけがない
575 名前:デフォルトの名無しさん (アウアウ Sa0f-wUeg) mailto:sage [2016/07/27(水) 12:56:22.05 ID:1uKZMVUBa.net] なぜそんなものが必要なのか、背景を説明すべき
576 名前:デフォルトの名無しさん (スッップ Sd5f-eQ6f) [2016/07/27(水) 13:32:29.18 ID:/uUaaY2ed.net] void* operator new( std::size_t, const std::nothrow_t& ); でメモリ確保した場合 void operator delete( void*, const std::nothrow_t& ); で解放しないといけないのですか nothrow無しのdeleteではだめですか
577 名前:デフォルトの名無しさん (ワッチョイ 0b7b-37tH) [2016/07/27(水) 14:09:25.84 ID:vXr+Pj/Z0.net] カスタムアロケータで解放処理をスルーさせればvectorが破棄されても一応動かし続けられる push_backで確保するときはあらかじめ用意しておいた配列のポインタを渡す これでなんとか動かせる
578 名前:デフォルトの名無しさん (ワッチョイ e33c-LCC3) mailto:sage [2016/07/27(水) 15:50:50.47 ID:mKq7JBSL0.net] プログラミングの勉強したくてC++始めてみたけどこれで何が作れるようになるのかさっぱり先が見えない
579 名前:デフォルトの名無しさん (ワッチョイ ff6c-n759) mailto:sage [2016/07/27(水) 16:00:57.45 ID:fm/Ja6r70.net] C++は物が作れるようになるまで遠いから なんか作りたかったらjavascriptとかpythonとかのがいいんじゃない
580 名前:デフォルトの名無しさん (ワッチョイ 6fcc-eQ6f) mailto:sage [2016/07/27(水) 16:05:21.07 ID:dXpZD4uM0.net] まずはANSI-Cを覚えてからにしろよ プラプラはお前にはまだエロ杉るぜ
581 名前:デフォルトの名無しさん (ワッチョイ 239a-iqWO) mailto:sage [2016/07/27(水) 16:35:05.51 ID:G4O2c/AA0.net] >>566 とりあえず競技プログラミングに挑戦してみるとか?
582 名前:デフォルトの名無しさん (スプッッ Sd5f-eQ6f) mailto:
[] [ここ壊れてます]
583 名前:sage mailto:2016/07/27(水) 16:36:39.59 ID:jeP9lH/Od.net [ >>566 dllを作るとか? ] [ここ壊れてます]
584 名前:デフォルトの名無しさん (ワッチョイ 775e-wAF5) mailto:sage [2016/07/27(水) 17:30:05.08 ID:7xqtEbgC0.net] >>566 勉強が目的なら他人の作ったものを再現する事から始めればいい 何か作りたくてやっているのならそれを目的にしたらいいけどな >>570 なんのだよw
585 名前:デフォルトの名無しさん (ブーイモ MM4f-eQ6f) mailto:sage [2016/07/27(水) 17:30:08.16 ID:1uyGul1zM.net] モチベーション維持したいならc#やjavaやswiftでguiアプリ作るほうがいいんじゃね?
586 名前:デフォルトの名無しさん (ワッチョイ eb7b-TH81) mailto:sage [2016/07/27(水) 17:38:57.14 ID:bkJFnNRE0.net] >>565 カスタムアロケータでメモリ確保・解放をごまかしたとしても ゼロ初期化処理は動いちゃうだろ それとも何とかする方法あるの?
587 名前:デフォルトの名無しさん (アウアウ Sa0f-wUeg) mailto:sage [2016/07/27(水) 18:36:19.61 ID:1uKZMVUBa.net] 競技プログラミングにハマるプログラマのスレ 3 tamae.2ch.net/test/read.cgi/prog/1468710465/
588 名前:デフォルトの名無しさん (ワッチョイ e763-eQ6f) mailto:sage [2016/07/27(水) 20:03:59.79 ID:QvOEp7Q70.net] >>564 知ってるくせに
589 名前:デフォルトの名無しさん (ワッチョイ 478c-n759) mailto:sage [2016/07/27(水) 22:49:06.89 ID:bFup2hBp0.net] C++は万能ではあるんだが、小物アプリに使うには使いづらいってのがな…… 俺はパフォーマンスが欲しい箇所かDLL組む際によく使ってるが
590 名前:デフォルトの名無しさん (ワッチョイ 137b-iqWO) mailto:sage [2016/07/27(水) 23:42:01.30 ID:yQgv1qn00.net] swigの使い方を覚えたのでC++でshared library作ってtclで呼び出してる。 まあ以前でも素手でtcl向けのライブラリ書いてたけど。
591 名前:デフォルトの名無しさん (ワッチョイ de02-oK17) mailto:sage [2016/07/28(木) 01:19:07.19 ID:PWtGjmpP0.net] VCしかしらないけどライブラリのリンクがめんどくさい GUIライブラリがクソすぎて手軽に書く気になれない あたりかなあ
592 名前:デフォルトの名無しさん (ワッチョイ 7ea6-n/e8) [2016/07/28(木) 02:09:41.73 ID:rtov7zp80.net] リンクがめんどいってインポートライブラリのことか?
593 名前:デフォルトの名無しさん (ワッチョイ 7d7b-LcQh) [2016/07/28(木) 04:24:04.25 ID:SCzjcUXT0.net] デファクトスターダードなパッケージ管理のソフトウェアが無いってのが弱点かな あとリンクするライブラリをソースコードとは別で指定しなきゃならんのも環境によって方法が全く違って面倒 たしかBlizzardからパッケージシステムの提案出てたよね?
594 名前:デフォルトの名無しさん (ワッチョイ 7ea6-n/e8) [2016/07/28(木) 08:10:20.62 ID:rtov7zp80.net] 環境によって方法が違うのまで面倒とか言い出したらきりないな VCしか知らんのにgccと違うのが面倒なわけなさそうだが
595 名前:デフォルトの名無しさん (ワッチョイ 8063-Y0VN) mailto:sage [2016/07/28(木) 10:12:03.26 ID:9zI1nj0T0.net] #pragma commentを知らないか ライブラリを指定するのがめんどくさいか
596 名前:デフォルトの名無しさん (JP 0Hcd-h2bY) mailto:sage [2016/07/28(木) 10:44:02.14 ID:IcWRb54zH.net] >>580 お客様気分で使いたいなら他の選択肢(言語)はいくらでもある
597 名前:デフォルトの名無しさん (ブーイモ MMcd-Y0VN) mailto:sage [2016/07/28(木) 11:52:38.27 ID:X9nAf2gTM.net] pkg-configでええわ。
598 名前:デフォルトの名無しさん (ワッチョイ 7d7b-LcQh) [2016/07/28(木) 14:16:28.08 ID:SCzjcUXT0.net] >>581 俺 >>578 と別人だから。 >>583 へぇ、偉そうに言ってるお前はC++にどんな貢献をしたんだい?
599 名前:デフォルトの名無しさん (ワッチョイ 7ea6-n/e8) [2016/07/28(木) 15:56:30.82 ID:rtov7zp80.net] C++への貢献? なんか話の方向がメルセンヌツイスターだな
600 名前:デフォルトの名無しさん (スプッッ Sdb8-Y0VN) mailto:sage [2016/07/28(木) 16:19:29.77 ID:LmLdUHqpd.net] 俺なんかC++勉強会の懇親会に出たことるんだぞ
601 名前:デフォルトの名無しさん (ワッチョイ cddc-1jYK) mailto:sage [2016/07/28(木) 16:25:41.32 ID:PhoEVdvZ0.net] C++への貢献ねぇ…。 クソ高い参考書を買うとか?
602 名前:デフォルトの名無しさん (ワッチョイ 7ea6-n/e8) [2016/07/28(木) 17:58:18.31 ID:rtov7zp80.net] 規格票なら買ってる クソ高い・・・以前に、公文書の交付を受けるのにあの金額はおかしいだろ
603 名前:デフォルトの名無しさん (スプッッ Sdb8-Y0VN) mailto:sage [2016/07/28(木) 18:12:04.60 ID:LmLdUHqpd.net] 貢献はboostやcpprefjpへのプルリクでいいんじゃない?
604 名前:デフォルトの名無しさん (ワッチョイ 7ea6-n/e8) [2016/07/28(木) 18:21:31.47 ID:rtov7zp80.net] つーか、単にC++で何か作ること自体がもう貢献だろ たとえばCがあれだけ栄えたことに貢献した人は何をしたんだっけ
605 名前:デフォルトの名無しさん (ワッチョイ de02-oK17) mailto:sage [2016/07/28(木) 19:27:08.07 ID:PWtGjmpP0.net] >>589 それって金で買えるのか
606 名前:デフォルトの名無しさん (オッペケ Sr69-Y0VN) mailto:sage [2016/07/28(木) 19:56:00.92 ID:sYdLJS0Ur.net] 規格票って13年くらい前の古文書だろ
607 名前:デフォルトの名無しさん (ワッチョイ 7e23-Y0VN) [2016/07/28(木) 20:12:33.65 ID:CaiDafD30.net] >>592 日本版(JIS)でよければ、大きめの本屋で普通に売ってる。
608 名前:デフォルトの名無しさん (ワッチョイ 7ea6-n/e8) [2016/07/28(木) 21:16:50.88 ID:rtov7zp80.net] ISO/IEC 14882:2014 \25,660_
609 名前:デフォルトの名無しさん (ブーイモ MMcd-Y0VN) mailto:sage [2016/07/28(木) 22:04:58.45 ID:AhBaCZNjM.net] 普通にanciのサイトで買える
610 名前:デフォルトの名無しさん (ワントンキン MM40-LcQh) [2016/07/28(木) 22:07:43.11 ID:cznXvZ6ZM.net] そのうちC++準化委員会にどれだけ入るんだろうね
611 名前:デフォルトの名無しさん (ブーイモ MMb8-Y0VN) mailto:sage [2016/07/28(木) 22:07:46.67 ID:QNrOVLfKM.net] ANSIの企画書がanciのサイトで買えるのか 嫌ぁ勉強になりますわ
612 名前:デフォルトの名無しさん (ワッチョイ 7117-Y0VN) mailto:sage [2016/07/28(木) 22:53:09.75 ID:7B/8SZ+20.net] C++はコードを美しく書ける、という認識は間違っていますか?
613 名前:デフォルトの名無しさん (アウアウ Sa01-sui1) mailto:sage [2016/07/28(木) 22:57:08.86 ID:ZGIpVfgca.net] 眼鏡をかけような
614 名前:デフォルトの名無しさん (オッペケ Sr69-Y0VN) mailto:sage [2016/07/29(金) 02:36:32.13 ID:GYJuIIBJr.net] 普通は198CHFの奴を買うもんだが 情弱は違うらしいな
615 名前:デフォルトの名無しさん (ワッチョイ de02-oK17) mailto:sage [2016/07/29(金) 02:43:05.82 ID:uOIYb5lR0.net] 全文日本語訳されたら買うよ
616 名前:デフォルトの名無しさん (ドコグロ MMc1-Y0VN) mailto:sage [2016/07/29(金) 08:10:14.45 ID:JEwvfhb1M.net] >>599 その認識は合ってるよ ただいくらでも見辛く書ける という意味では perl と双璧をなすけどね
617 名前:デフォルトの名無しさん (スプッッ Sdc8-Y0VN) [2016/07/29(金) 08:22:02.75 ID:e8sS4au9d.net] 範囲forを使って逆順にループする方法教えてください
618 名前:デフォルトの名無しさん (スップ Sdc8-Y0VN) mailto:sage [2016/07/29(金) 08:43:52.36 ID:1qWt9dzPd.net] じゃあ俺は範囲forを使って a[i] = b[i] + c[i]; する方法を聞きたい。(聞きたくない)
619 名前:デフォルトの名無しさん (ワッチョイ de02-oK17) mailto:sage [2016/07/29(金) 08:46:44.14 ID:uOIYb5lR0.net] >>605 なんかそんな感じの提案あったな
620 名前:デフォルトの名無しさん (ワンミングク MM40-Y0VN) mailto:sage [2016/07/29(金) 09:40:41.98 ID:pdbkszbOM.net] >>605 boostのrange_adaptor
621 名前:デフォルトの名無しさん (ワッチョイ 7ea6-n/e8) [2016/07/29(金) 10:27:51.01 ID:AEGdLZ8J0.net] >>605 int main() { int a[5]; int b[5] { 1, 1, 1, 1, 1 }; int c[5] { 2, 2, 2, 2, 2 }; for(auto& d : a) { d = b[&d - a] + c[&d - a]; } for(auto d : a) std::cout << d; }
622 名前:デフォルトの名無しさん (スップ Sdc8-Y0VN) mailto:sage [2016/07/29(金) 11:57:30.49 ID:1qWt9dzPd.net] >>608 「嫌だ嫌だ...」 そう言ってプログラマは泣いた
623 名前:デフォルトの名無しさん (ドコグロ MM74-Y0VN) mailto:sage [2016/07/29(金) 16:25:08.75 ID:MbSsjn6pM.net] >>598 まあ、企画書だからな。
624 名前:デフォルトの名無しさん (ワンミングク MM40-Y0VN) mailto:sage [2016/07/29(金) 16:29:20.58 ID:74ZVxiA5M.net] ま、イタリア語は読めないから買わないけど
625 名前:デフォルトの名無しさん (ワッチョイ 7ea6-n/e8) [2016/07/29(金) 21:11:18.10 ID:AEGdLZ8J0.net] スイスフラン?
626 名前:デフォルトの名無しさん (ワッチョイ d5a8-oK17) mailto:sage [2016/07/29(金) 21:11:25.00 ID:ZRGEK2hc0.net] 日本にいたり、イタリヤにいたりや。
627 名前:デフォルトの名無しさん (ブーイモ MMcd-Y0VN) mailto:sage [2016/07/29(金) 21:21:35.12 ID:vYaVH+7PM.net] www.anci.it 何故、アメリカの規格書をここで買うの?
628 名前:デフォルトの名無しさん (ワッチョイ d6c0-yFKW) mailto:sage [2016/07/29(金) 21:49:50.42 ID:BANj6sOx0.net] ”それ”を買いたいんだろう
629 名前:デフォルトの名無しさん (ワッチョイ 795b-Dh9/) mailto:sage [2016/07/29(金) 23:28:19.95 ID:uSAA9Kyx0.net] 久しぶりに覗いてみたら 相変わらずC++だな()
630 名前:デフォルトの名無しさん (オッペケ Sr69-Y0VN) mailto:sage [2016/07/30(土) 16:51:59.64 ID:fjcsuflwr.net] どうして598はISOの話をしていたのに突然ANSIだと思ったんだろう
631 名前:デフォルトの名無しさん (ワッチョイ de3c-Y0VN) mailto:sage [2016/07/30(土) 18:10:47.31 ID:SD9Rxi9F0.net] >>617 >>596
632 名前:デフォルトの名無しさん (ワッチョイ e27b-1ZjC) mailto:sage [2016/07/30(土) 19:33:55.62 ID:RbMYjVy20.net] ISOを国内むけに規格化してる。JISみたいなもん。 C89(99?)はANSIから買った方がだいぶ安かった。
633 名前:デフォルトの名無しさん (オッペケ Sr69-Y0VN) mailto:sage [2016/07/30(土) 19:42:44.69 ID:N4OwuBUbr.net] いや596はANSIが売ってるANSI版じゃなくて ANSIが売ってるISO版の方の話だろ
634 名前:デフォルトの名無しさん (アウアウ Sa01-sui1) mailto:sage [2016/07/30(土) 20:24:51.90 ID:B4kFV2/La.net] いつまで規格の話にはまってんだ そんなもん江添にでも喰わせておけ
635 名前:デフォルトの名無しさん (ワッチョイ de02-oK17) mailto:sage [2016/07/30(土) 20:29:28.87 ID:Ye/zcysO0.net] C++erは規格を食べて生きている
636 名前:デフォルトの名無しさん (ワッチョイ df7b-fBdW) mailto:sage [2016/07/30(土) 20:32:20.84 ID:9HEOOrL70.net] んなことない 規格厨はやたら声が大きすぎるだけ リアルなC++erはそんなのは滅多にいない
637 名前:デフォルトの名無しさん (スプッッ Sdc8-Y0VN) mailto:sage [2016/07/30(土) 20:47:43.67 ID:/3qyH9iId.net] 江添っておばさんぽいよな
638 名前:デフォルトの名無しさん (ワッチョイ d5a8-oK17) mailto:sage [2016/07/30(土) 21:23:02.21 ID:tq/lk9dG0.net] >>623 そうは言ってもなぁ、モダンなコンパイラはかなり豪快な最適化をすることがある。 仕様からちょっとでも外れた部分は予想のつかない結果を生むので、 結果的に仕様にはそれなりに詳しくないととてもじゃないがやってられん。 最適化を抑制するのも馬鹿馬鹿しい話だしな。
639 名前:デフォルトの名無しさん (ワッチョイ 8063-Y0VN) mailto:sage [2016/07/30(土) 21:38:31.60 ID:V1YioEmu0.net] つまり「言語仕様は熟知していないけど 最適化オフなら意図した動作にできる自信が有る」 そこはかとなく危険なアロマしか漂わない
640 名前:デフォルトの名無しさん (ワッチョイ de02-oK17) mailto:sage [2016/07/30(土) 21:50:00.90 ID:Ye/zcysO0.net] 最近はC++に詳しくなることが目的になっているけど何の問題もない
641 名前:デフォルトの名無しさん (ワッチョイ de3c-Y0VN) mailto:sage [2016/07/30(土) 22:42:52.77 ID:SD9Rxi9F0.net] >>626 どういう教育受けたらそんなアホな解釈を世間に公開できるんだ?
642 名前:デフォルトの名無しさん (アウアウ Sa01-26Kx) mailto:sage [2016/07/30(土) 22:59:04.11 ID:r8DYCtFQa.net] 会社にやたらと規格には詳しいが、全く装置動かせない奴いるわ
643 名前:デフォルトの名無しさん (ワッチョイ decc-Y0VN) mailto:sage [2016/07/31(日) 01:37:23.60 ID:K1pziM800.net] 覚えるだけの実践で使えないでくの坊な
644 名前:デフォルトの名無しさん (ワッチョイ de02-oK17) mailto:sage [2016/07/31(日) 01:55:53.06 ID:k2XUZocb0.net] 入門書以上の知識が必要な業務ってどれだけあるんだよ
645 名前:デフォルトの名無しさん (ワッチョイ 7e23-Y0VN) [2016/07/31(日) 02:03:51.88 ID:BwQhep530.net] むしろ入門書だけでなんとかなる業務がどれだけあるのか聞きたいわ
646 名前:デフォルトの名無しさん (ワッチョイ de02-oK17) mailto:sage [2016/07/31(日) 02:24:27.97 ID:k2XUZocb0.net] うちの会社では工場の設備の補助的なPCのアプリケーションばかり作らされていてどベターCみたいなのばっかりだわ制御ではない 一通りの構文知っていれば書ける C++の標準ライブラリは使用禁止 MFCを使わされる 理由は上司が分からないから
647 名前:デフォルトの名無しさん (アウアウ Sa01-sui1) mailto:sage [2016/07/31(日) 04:59:09.06 ID:gsBYroyJa.net] 上司どかせろ
648 名前:デフォルトの名無しさん (ワントンキン MM40-LcQh) [2016/07/31(日) 05:49:24.35 ID:m5m3ueEtM.net] クラスメンバーへのポインタでデータメンバーかメンバー関数かでオーバーロードするいい方法ある? メンバー関数はシグネチャー決まってなくて C++03でも通る方法で
649 名前:デフォルトの名無しさん (ワッチョイ b2a6-oK17) mailto:sage [2016/07/31(日) 07:01:09.97 ID:mjx8Q1wz0.net] >>635 メンバポインタ以外に、クラスインスタンスも引数にもらえると考えていいの?
650 名前:デフォルトの名無しさん (ワントンキン MM40-LcQh) [2016/07/31(日) 07:10:35.74 ID:m5m3ueEtM.net] >>636 貰えないと考えて
651 名前:デフォルトの名無しさん (オッペケ Sr69-Y0VN) mailto:sage [2016/07/31(日) 07:
] [ここ壊れてます]
652 名前:33:12.04 ID:1r+GKlUkr.net mailto: 入り口をテンプレートにしたら 普通にオーバーロードできたが 何を困っているんだ? [] [ここ壊れてます]
653 名前:デフォルトの名無しさん (ワントンキン MM40-LcQh) [2016/07/31(日) 07:43:11.76 ID:m5m3ueEtM.net] >>638 質問そんなに解りづらかったかな? メンバー関数かデータメンバーかで分けたいって言ってるんだけど
654 名前:デフォルトの名無しさん (ワントンキン MM40-LcQh) [2016/07/31(日) 08:11:05.35 ID:m5m3ueEtM.net] ideone.com/O18mHy 例えばこんな感じに書くことが考えられるけど、cv修飾とかreference修飾とかが着くとダメだよね それぞれ一つ一つ書くのもめんどくさいしそんなにいっぱい書きたくない、もっといい方法無いかなってのが質問の趣旨
655 名前:デフォルトの名無しさん (ワッチョイ 3f3c-oK17) mailto:sage [2016/07/31(日) 10:22:46.19 ID:O2K+oF4W0.net] lstrcat()がエラー吐いています。 どう改善すればよいでしょうか? visual studioです。 ---エラーメッセージ--- 0x00007FFD8B966BC5 (kernel32.dll) で例外がスローされました (hoge.exe 内): 0xC0000005: 場所 0x00007FF76596AE2D への書き込み中にアクセス違反が発生しました -------------------- bool hoge(char* url) { LPTSTR lpurl = url; LPTSTR opt = "-x --audio-format mp3"; lstrcat(opt, lpurl); ShExFlag = ShellExecute(NULL, "open", "youtube-dl.exe", opt, NULL, SW_SHOW); //shellexecuteのエラー判定を挿入 return 0; }
656 名前:デフォルトの名無しさん (ワッチョイ decc-Y0VN) mailto:sage [2016/07/31(日) 10:31:13.44 ID:K1pziM800.net] 夏休みだなw
657 名前:デフォルトの名無しさん (ワッチョイ 3f3c-oK17) mailto:sage [2016/07/31(日) 10:38:43.13 ID:O2K+oF4W0.net] ideoneに貼った方がよかった?
658 名前:デフォルトの名無しさん (ワッチョイ 3f3c-oK17) mailto:sage [2016/07/31(日) 10:40:11.46 ID:O2K+oF4W0.net] >>641 書くところ間違えました。すいません。
659 名前:デフォルトの名無しさん (ワッチョイ decc-Y0VN) mailto:sage [2016/07/31(日) 10:42:05.30 ID:K1pziM800.net] >>641 LPTSTR opt の部分を TCHAR opt[MAX_PATH] になおすと動くだろ あとは初心者スレできくといい
660 名前:デフォルトの名無しさん (ワッチョイ 3f3c-oK17) mailto:sage [2016/07/31(日) 10:53:02.43 ID:O2K+oF4W0.net] >>645 動きました!ありがとうございます! 初心者スレ探してきます!
661 名前:デフォルトの名無しさん (アウアウ Sa01-26Kx) mailto:sage [2016/07/31(日) 11:33:20.94 ID:kJ3Jsux+a.net] >>633 MFC? とっくに枯れてるライブラリだろ
662 名前:デフォルトの名無しさん (JP 0Hcd-h2bY) mailto:sage [2016/07/31(日) 12:11:22.29 ID:mZA98VWrH.net] と >>633 の代わりに上司を説得してくれるそうです
663 名前:デフォルトの名無しさん (アウアウ Sa01-26Kx) mailto:sage [2016/07/31(日) 12:17:23.36 ID:kJ3Jsux+a.net] テンプレートを使ってるライブラリの使用はOKだが、テンプレートを使って関数なり、クラスを書くのは内も禁止してる。 素人が書いたテンプレートなんて使い物にならんからな
664 名前:デフォルトの名無しさん (ワッチョイ 7d7b-LcQh) [2016/07/31(日) 12:25:43.00 ID:75nzMpMc0.net] >>649 素人しか居ないのか
665 名前:デフォルトの名無しさん (ワントンキン MM40-Y0VN) mailto:sage [2016/07/31(日) 12:28:15.56 ID:alwpU5odM.net] ublasのオレオレ拡張とか書かない?
666 名前:デフォルトの名無しさん (ワッチョイ 7551-xLev) mailto:sage [2016/07/31(日) 12:33:32.64 ID:0ENkURmo0.net] そりゃ、枯れてるライブラリを使う方がいいだろ。
667 名前:デフォルトの名無しさん (ワッチョイ 7d02-oK17) mailto:sage [2016/07/31(日) 12:42:20.48 ID:Ik3c6uxO0.net] 永久に進歩は無いけどな
668 名前:デフォルトの名無しさん (JP 0Hcd-h2bY) mailto:sage [2016/07/31(日) 12:53:48.72 ID:mZA98VWrH.net] 今後入替えが困難という前提で ルーキーとベテランどちらを選ぶかって話よ
669 名前:デフォルトの名無しさん (アウアウ Sa01-26Kx) mailto:sage [2016/07/31(日) 13:05:25.27 ID:kJ3Jsux+a.net] >>650 テンプレートを書ける奴なんて、日本人てはほとんどいないだろ
670 名前:デフォルトの名無しさん (ワッチョイ 7a6c-6yRu) mailto:sage [2016/07/31(日) 13:06:50.98 ID:VgeNLb5A0.net] 書くだけならいくらでもおるやろ
671 名前:デフォルトの名無しさん (アウアウ Sa01-26Kx) mailto:sage [2016/07/31(日) 13:10:47.75 ID:kJ3Jsux+a.net] >>656 嘘つけ、世界的に見ても数十人程度だろ
672 名前:デフォルトの名無しさん (ワッチョイ 7a6c-6yRu) mailto:sage [2016/07/31(日) 13:15:42.90 ID:VgeNLb5A0.net] そうだったな、すまん
673 名前:デフォルトの名無しさん (ワッチョイ 7d02-oK17) mailto:sage [2016/07/31(日) 13:18:11.60 ID:Ik3c6uxO0.net] 書けるっていうのは標準ライブラリやboostレベルの話か そもそもテンプレートでガリガリ書いていく場面なんて汎用的なライブラリくらいしかないし しかもそれらを仕事として書く事なんてまずない 書く機会があるのが数十人程度なんだろう
674 名前:デフォルトの名無しさん (ワッチョイ df7b-fBdW) mailto:sage [2016/07/31(日) 13:19:23.82 ID:Qkh5fkK70.net] >>657 馬鹿言ってんじゃねーよボケ
675 名前:デフォルトの名無しさん (ワッチョイ 7fc9-Y0VN) mailto:sage [2016/07/31(日) 13:51:51.17 ID:tLh0Iyun0.net] C++のテンプレートはコンパイルエラーの原因が分かりにくく、 デバッグもしにくい。十分に検証されたライブラリならいいけど、 そうでないと逆に生産性を低下させるという主張も妥当性はある。
676 名前:デフォルトの名無しさん (スプッッ Sdc8-Y0VN) mailto:sage [2016/07/31(日) 13:57:56.22 ID:8ZXaDYcWd.net] 馬鹿馬鹿しい話だ 別にテンプレートに限ったことじゃないが
677 名前:デフォルトの名無しさん (ブーイモ MMcd-Y0VN) mailto:sage [2016/07/31(日) 14:08:07.54 ID:0belju2qM.net] VC++のSTLのBUGはいい加減直して欲しいものだが
678 名前:デフォルトの名無しさん (スッップ Sdb8-Y0VN) mailto:sage [2016/07/31(日) 14:16:25.51 ID:iNXfEuF/d.net] g++のstlバグも直して欲しいんですがそれは
679 名前:デフォルトの名無しさん (オッペケ Sr69-Y0VN) mailto:sage [2016/07/31(日) 14:27:33.43 ID:1r+GKlUkr.net] >>640 is_member_object_pointer is_member_function_pointer でenable_ifしたら?
680 名前:デフォルトの名無しさん (ワッチョイ decc-Y0VN) mailto:sage [2016/07/31(日) 14:34:12.34 ID:K1pziM800.net] >>661 エラー発生元を辿ってきちんと表示しない糞コンパイラだとそうなる罠
681 名前:デフォルトの名無しさん (ワッチョイ decc-Y0VN) mailto:sage [2016/07/31(日) 14:38:03.05 ID:K1pziM800.net] 昔のはテンプレートヘッダの部分をエラー表示してソースのどの部分でエラー怒っているか放置するの多かったから結構苦労したな
682 名前:デフォルトの名無しさん (ワッチョイ df7b-fBdW) mailto:sage [2016/07/31(日) 14:41:23.07 ID:Qkh5fkK70.net] >>661 テンプレートも使えない無能はこうやって自尊心を保とうとするんですね よく分かりました
683 名前:デフォルトの名無しさん (ワッチョイ 7fc9-Y0VN) mailto:sage [2016/07/31(日) 15:26:40.59 ID:tLh0Iyun0.net] C++のテンプレートはコンパイル時マクロみたいなもんだからな。
684 名前:デフォルトの名無しさん (ワッチョイ 719a-oK17) mailto:sage [2016/07/31(日) 15:36:49.88 ID:CXKWxktG0.net] C++アンサイクロペディア思い出したw ja.uncyclopedia.info/wiki/C%2B%2B テンプレート クソ山の王。あるいはクソを聳え立たせる物の意。(出典:Modern C++ Design) 禁書によりその存在が広く認知されるに至り、これはC++の教義における最も特徴的な物であると言われるまでに至った。 その実は、マクロに多少の毛が生えたようなものであり、寝マクロと大差無いというのが近代的な解釈である。 これを使いこなすためには無限の忍耐と高度に鍛えられた指先、また、連続数十時間にも及ぶ苦行に耐えうる強靭な肉体を要する。
685 名前:デフォルトの名無しさん (ブーイモ MMb8-Y0VN) [2016/07/31(日) 15:49:22.43 ID:SaVLGxW1M.net] 標準ライブラリは使用禁止! 理由は、バグがあったときに原因究明が難しい上に、修正できないから! って指示の職場があってひいたことがあったわー (心の中で)こうつぶやいたのは言うまでもない 「標準ライブラリのバグ踏む確率より、お前らの作る代替機能がバグる確率の方が高いだろ」
686 名前:デフォルトの名無しさん (ワッチョイ 9c42-oK17) mailto:sage [2016/07/31(日) 15:58:54.36 ID:79rySoAY0.net] コンパイラにGCCを使って開発していたとき、 ライセンスの関係で標準ライブラリ使用禁止と言うのはあったな 代わりに自社製の同等ライブラリーが提供されていた 必要ならソースも参照できたし 不具合が合った時は迅速に修正してくれたよ
687 名前:デフォルトの名無しさん (ワッチョイ 7d02-oK17) mailto:sage [2016/07/31(日) 16:34:41.62 ID:Ik3c6uxO0.net] コンパイラのバグを踏んだとき気付きようがないから禁止します
688 名前:デフォルトの名無しさん (ワッチョイ de3c-Y0VN) mailto:sage [2016/07/31(日) 16:59:33.20 ID:kNYZMHst0.net] >>673 GCC で -O2 は使っちゃダメとかあったような
689 名前:デフォルトの名無しさん (JP 0Hcd-h2bY) mailto:sage [2016/07/31(日) 17:13:56.59 ID:mZA98VWrH.net] 普通は -O2 がデフォやろ
690 名前:デフォルトの名無しさん (ワッチョイ 7d02-oK17) mailto:sage [2016/07/31(日) 17:13:57.14 ID:Ik3c6uxO0.net] >>674 それは非同期処理で痛い目見た人が間違った学習をした場合そうなる
691 名前:デフォルトの名無しさん (アウアウ Sa01-26Kx) mailto:sage [2016/07/31(日) 17:20:53.32 ID:kJ3Jsux+a.net] 普通は最適化なんて自前でやるだろ。最大公約数的な最適化なんて使い物になるとは思えん
692 名前:デフォルトの名無しさん (スプッッ Sdc8-Y0VN) mailto:sage [2016/07/31(日) 17:23:55.90 ID:8ZXaDYcWd.net] >>677 ものによる。普通かどうかはどうでもよさそう。
693 名前:デフォルトの名無しさん (ワッチョイ 7a6c-6yRu) mailto:sage [2016/07/31(日) 17:27:03.52 ID:VgeNLb5A0.net] コードの最適化とコンパイラの最適化ってレイヤーが違うと思うんですけど(名推理)
694 名前:デフォルトの名無しさん (ワッチョイ 7d02-oK17) mailto:sage [2016/07/31(日) 17:28:00.76 ID:Ik3c6uxO0.net] >>679 全てアセンブラで書くんだろ
695 名前:デフォルトの名無しさん (アウアウ Sa01-26Kx) mailto:sage [2016/07/31(日) 17:30:36.75 ID:kJ3Jsux+a.net] >>680 IAA32をバイナリエディタでガリガリ書くだけ
696 名前:デフォルトの名無しさん (ワッチョイ 7e23-Y0VN) [2016/07/31(日) 17:36:08.96 ID:BwQhep530.net] >>676 激しく同意。
697 名前:デフォルトの名無しさん (ワッチョイ 7f6f-n/e8) mailto:sage [2016/07/31(日) 17:51:18.90 ID:Cp9ofSd90.net] Androidもglibc使ってないんだよね 俺の関わったCの案件だと、標準ライブラリに依存しすぎないようになってることが多かった 標準ライブラリ使うとしても直接じゃなくてラッパー関数を1枚噛ませるとかしてる C++だとその辺わりと無頓着だよね
698 名前:デフォルトの名無しさん (ワッチョイ 7e23-Y0VN) [2016/07/31(日) 18:00:04.21 ID:BwQhep530.net] >>683 必要であればラップするけど… 「できるだけ依存しない」の目的がわからないなぁ。 興味本位で聞きたいんだけど、理由があるのなら教えてもらえないだろうか? 俺の感覚だと、全く同じ機能を使うだけなら、できるだけ標準に依存するようにして欲しい。
699 名前:デフォルトの名無しさん (ワッチョイ 7f6f-n/e8) mailto:sage [2016/07/31(日) 18:08:48.02 ID:Cp9ofSd90.net] >>684 たとえばカーネルモードとか標準ライブラリが整備されてない環境で動かすことを想定してる
700 名前:デフォルトの名無しさん (ブーイモ MMb8-Y0VN) mailto:sage [2016/07/31(日) 18:17:32.29 ID:aQ94HVbVM.net] >>683 cの標準ライブラリをラップするメリットってあるの?
701 名前:デフォルトの名無しさん (ワッチョイ 7e23-Y0VN) [2016/07/31(日) 18:19:08.34 ID:BwQhep530.net] >>685 しそたら、その時に自分で用意すれば良いだけじゃね?
702 名前:デフォルトの名無しさん (ガラプー KKcd-LNIv) mailto:sage [2016/07/31(日) 18:25:42.42 ID:YpFt8gEAK.net] しそたらこふりかけ
703 名前:デフォルトの名無しさん (アウアウ Sa01-sui1) mailto:sage [2016/07/31(日) 18:29:21.69 ID:uNPc5yZza.net] >>649-650 この流れ好こ
704 名前:デフォルトの名無しさん (ワッチョイ 7f6f-n/e8) mailto:sage [2016/07/31(日) 18:29:52.99 ID:Cp9ofSd90.net] >>687 環境に応じて用意するんだけどフル機能サポートはしないからね 標準関数そのまま使ってるとそこでフル機能使えるんだと勘違いする奴が出て来たりして ちょっと面倒なことになる
705 名前:デフォルトの名無しさん (ワッチョイ 3e9f-EaMp) mailto:sage [2016/07/31(日) 18:44:35.61 ID:Ep1NxVxz0.net] >>683 AndroidはglibcではなくBionic libcを使ってるだけだから 標準ライブラリに依存しないということとはほぼ関係ない
706 名前:デフォルトの名無しさん (ワッチョイ bae4-oK17) mailto:sage [2016/07/31(日) 18:44:49.46 ID:Iib2qVEP0.net] テンプレートとかvectorとかいるの? Delphiにはないんだけど、なんか利点あるんですか? (そもそもそれが何かあまりわかっていない)
707 名前:デフォルトの名無しさん (ワッチョイ 7e23-Y0VN) [2016/07/31(日) 18:46:51.70 ID:BwQhep530.net] >>690 なるほどね。 それなら妥当かもね。 全く同じものを提供しているなら、それは意味ないと思ったんだけど、そもそも違う機能なら、別関数として然るべきだね。
708 名前:デフォルトの名無しさん (ワイマゲー MM45-oK17) [2016/07/31(日) 19:24:05.65 ID:JTJLwIyaM.net] 【閲覧注意】戦闘に巻き込まれて頭部を切断された少女の遺体。これがリアルなシリア。 dqnworld.com/archives/34.html これが本当の戦争の恐怖。この少女には大人の戦争は関係ないですからね。巻き込まれた少女の遺体を持って何か を訴えかけている男たちの映像です。 【閲覧注意】シリアで反体制派の兵士が顔を吹き飛ばされてしまう瞬間。 dqnworld.com/archives/89.html スローモーションが怖すぎる・・・。 【閲覧注意】アッラーフアクバルを叫びながら少年を斬首する映像を公開する。 dqnworld.com/archives/3975.html 点滴?のようなものが見えるんだけど。助けられた少年じゃなかったのか。助けられた所を強奪されてアッラーフ アクバル?なのかしら・・・。 【閲覧注意】磔にされた戦闘機パイロットの遺体。シリアにて。 dqnworld.com/archives/3996.html 今日のアッラーフアクバル動画。 【閲覧注意】この首吊り自殺、足スレスレだけど本当に死ねてる? dqnworld.com/archives/4001.html 中国で撮影された首吊り自殺の映像です。既に死んでいると書いてあるけど自分で揺らしているようにみない?www 妻の目の前でぶっ飛ばされた旦那さん?これは死んだかな(°_°) dqnworld.com/archives/4004.html さすがにこれだけ飛ばされたら助からないかな・・・。 【閲覧注意】あおむけでゲロを吐きまくっている男性。助けてやれよ・・・。窒息するぞ(@_@;) dqnworld.com/archives/4007.html これ結構危ないんじゃないの?撮影してないで横向きにしてやれよ。これ窒息する可能性あるだろ。
709 名前:デフォルトの名無しさん (ワッチョイ de3c-Y0VN) mailto:sage [2016/07/31(日) 21:42:47.04 ID:kNYZMHst0.net] >>676 GCC がバグフリーだと盲信してる人なの?
710 名前:デフォルトの名無しさん (スップ Sdb8-Y0VN) [2016/07/31(日) 22:10:12.03 ID:CMFfCBWUd.net] struct hoge { using type = int; }; struct moge : public hoge { using hoge::type; enum : type{}; }; エラー C3064 'type': 単純型でなければならない、または単純型に解決しなければなりません VC2015だとなぜエラーになるのですか GCCではなりません
711 名前:デフォルトの名無しさん (アウアウ Sa01-26Kx) mailto:sage [2016/07/31(日) 23:05:54.79 ID:UZ5XiVpsa.net] ほならgccつこーたら、ええんちゃうんかい?
712 名前:デフォルトの名無しさん (ワッチョイ cec2-IkXK) mailto:sage [2016/07/31(日) 23:17:03.71 ID:I8Tjpnqi0.net] >>696 コンパイラのオプション
713 名前:デフォルトの名無しさん (ワッチョイ df7b-fBdW) mailto:sage [2016/08/01(月) 07:33:06.33 ID:U+4K15gc0.net] >>696 VS2015 Update3で試したら普通に通るけど?オプションはデフォルトで
714 名前:デフォルトの名無しさん (ワッチョイ df7b-fBdW) mailto:sage [2016/08/01(月) 07:43:24.34 ID:U+4K15gc0.net] VS2013でも通る VS2012じゃ通らないがエラーが>>696 のとは違う
715 名前:デフォルトの名無しさん (ワッチョイ decc-Y0VN) mailto:sage [2016/08/01(月) 13:47:54.88 ID:GmgQHqak0.net] >>692 世の中には知らない方が幸せなこともあります 無理して知ろうとすると発狂してしまうかもですよ
716 名前:デフォルトの名無しさん (ブーイモ MMb8-Y0VN) mailto:sage [2016/08/01(月) 15:08:14.78 ID:6sVoWLaMM.net] コアにやるならC カジュアルにやるならC#あたり わざわざC++選ぶ理由なくね?
717 名前:デフォルトの名無しさん (ワッチョイ 7ea6-n/e8) [2016/08/01(月) 15:16:30.22 ID:BA4CXaZK0.net] いや必要が生じてない人に同意を求められても・・・
718 名前:デフォルトの名無しさん (スプッッ Sdc8-Y0VN) mailto:sage [2016/08/01(月) 16:13:35.83 ID:xe1Us1FPd.net] コアとかカジュアルとかゆるふわな判断基準で問われても答えられんわな
719 名前:デフォルトの名無しさん (アウアウ Sa01-Y0VN) mailto:sage [2016/08/01(月) 16:19:47.30 ID:0N9DG3Lpa.net] コアとカジュアルってなんだよ むしろ組み込みとかでない限りわざわざC選ぶ理由がないんだが
720 名前:デフォルトの名無しさん (ワッチョイ 7ea6-n/e8) [2016/08/01(月) 16:28:46.84 ID:BA4CXaZK0.net] だから、おまえが選ぶ理由がないだけだろ バイナリ使うだけでソースは見もしないの丸出しだな
721 名前:デフォルトの名無しさん (スップ Sdc8-Y0VN) mailto:sage [2016/08/01(月) 17:20:40.72 ID:ED+THM+Cd.net] C++もC#も両方使うんだが?
722 名前:デフォルトの名無しさん (ワッチョイ 7ea6-n/e8) [2016/08/01(月) 17:59:02.40 ID:BA4CXaZK0.net] 答えになってねえぞ ソースを見ずに使えるバイナリのソースのことを言っているんだ
723 名前:デフォルトの名無しさん (ブーイモ MMb8-Y0VN) mailto:sage [2016/08/01(月) 18:02:42.53 ID:6sVoWLaMM.net] ソースのソースのソース? 何言ってんの? これだからc++は・・
724 名前:デフォルトの名無しさん (オッペケ Sr69-Y0VN) mailto:sage [2016/08/01(月) 18:48:33.52 ID:OBAVNtD4r.net] >>709 の
725 名前:日本語能力の低さには脱帽だが >>708 が突然バイナリのソースについて言及し始めた理由が不明 [] [ここ壊れてます]
726 名前:デフォルトの名無しさん (スプッッ Sdc8-Y0VN) mailto:sage [2016/08/01(月) 18:52:53.09 ID:xe1Us1FPd.net] >>702 普通に考えるとわざわざCを選ぶ理由が不明、となるはずだが?
727 名前:デフォルトの名無しさん (ドコグロ MM74-Y0VN) mailto:sage [2016/08/01(月) 19:28:11.53 ID:+SXwg/r8M.net] そもそもコアにやるならアセンブラ だろ
728 名前:デフォルトの名無しさん (ブーイモ MMb8-Y0VN) mailto:sage [2016/08/01(月) 20:02:08.33 ID:Pl/m9xU5M.net] 今ならCUDAかもなぁ
729 名前:デフォルトの名無しさん (ワッチョイ 757b-Gs9L) mailto:sage [2016/08/01(月) 20:34:35.11 ID:X7d6me2M0.net] 馬鹿な機能を得意げに使う馬鹿を寄せ付けないために c を使うという方はいますが。
730 名前:デフォルトの名無しさん (ワッチョイ 7ea6-n/e8) [2016/08/01(月) 20:49:22.69 ID:BA4CXaZK0.net] >>709 ニホンゴワカリマセンで逃げるんなら深追いはしねえよw
731 名前:デフォルトの名無しさん (ブーイモ MMb8-Y0VN) mailto:sage [2016/08/01(月) 20:56:34.02 ID:c5CCxcjkM.net] で、何だって? ソースのソースのソースのソースですかあ? すごいでちゅねwww
732 名前:デフォルトの名無しさん (ワントンキン MM40-LcQh) [2016/08/01(月) 21:15:05.92 ID:JluuYzqfM.net] まずgccとかclangのCコンパイラ作ってる人に言ってきたらいいんじゃないかな? CとC++やめてCとC#にしようぜって 相手にされないだろうけど
733 名前:デフォルトの名無しさん (アウアウ Sa01-sui1) mailto:sage [2016/08/01(月) 21:23:55.75 ID:/D4DgFQEa.net] CPUの進化が停まっている今、プログラミングに速度が求められるようになる C/C++は大正義として復権を果たすのである しかし同時に今、Rustが脅威となりつつ成長を進めている
734 名前:デフォルトの名無しさん (オッペケ Sr69-Y0VN) mailto:sage [2016/08/01(月) 21:28:07.01 ID:MTM1tXJLr.net] また変な奴が湧いたな
735 名前:デフォルトの名無しさん (ワッチョイ de3c-Y0VN) mailto:sage [2016/08/01(月) 22:29:53.73 ID:G87zOVs30.net] >>715 バイナリのソース とか言う奴に言われても苦笑するしかないが w
736 名前:デフォルトの名無しさん (ワッチョイ 715b-Y0VN) [2016/08/01(月) 23:21:22.18 ID:C8sozVqi0.net] 何だ?このカオスなやり取りは…?
737 名前:デフォルトの名無しさん (ワッチョイ 757b-oK17) mailto:sage [2016/08/01(月) 23:23:53.09 ID:hgm6N8zV0.net] >>675 2.9.いくつかで-O2したら浮動小数点演算がバグりまくるってのがあった
738 名前:デフォルトの名無しさん (JP 0Hcd-h2bY) mailto:sage [2016/08/02(火) 08:02:27.95 ID:1+WRG/xHH.net] それは普通じゃないな
739 名前:デフォルトの名無しさん (アウアウ Sa01-26Kx) mailto:sage [2016/08/02(火) 10:31:24.15 ID:1Qrut2t0a.net] C++を使えるようなりたいんですが、どんな感じで習得していくのが良いですか?
740 名前:デフォルトの名無しさん (ワッチョイ 9c41-UbOe) mailto:sage [2016/08/02(火) 10:42:35.25 ID:V+yjlCg80.net] とにかく、下手でもいいから一つアプリケーションを自分の使う範囲では実用的なところまで作ることだな こまかな言語仕様をつついてると一向にしょぼいアプリケーションすらできないぞ int i = 0; int i(0); は意味が違うなんて細かなこと言ってるやついるけど、そんなところで時間使うなんてもったいなすぎる
741 名前:デフォルトの名無しさん (スッップ Sdb8-Y0VN) mailto:sage [2016/08/02(火) 11:47:13.02 ID:E531VOcLd.net] アプリケーションを作りたいなんてどっから出てくるの?
742 名前:デフォルトの名無しさん (ワッチョイ 7fe7-UbOe) mailto:sage [2016/08/02(火) 11:51:17.93 ID:YLg91Q2/0.net] C++使って何がしたいの?
743 名前:デフォルトの名無しさん (スップ Sdb8-Y0VN) [2016/08/02(火) 11:56:03.27 ID:Sm4KzUAwd.net] 使いたくはないけどコンパイラがそれしかないので使ってます
744 名前:デフォルトの名無しさん (ワッチョイ 7fe7-UbOe) mailto:sage [2016/08/02(火) 11:59:45.30 ID:YLg91Q2/0.net] 軽量言語っていう選択肢もあるのよ?コンパイラにこだわる理由がよくわからん。
745 名前:デフォルトの名無しさん (ワッチョイ 11a1-18JB) [2016/08/02(火) 13:36:34.21 ID:zPXv91Z/0.net] exeができる exeだけ配布すれば実行できる 大金で購入したら、なんとしても活用したい
746 名前:デフォルトの名無しさん (ワッチョイ 7fe7-UbOe) mailto:sage [2016/08/02(火) 13:41:54.21 ID:YLg91Q2/0.net] 画期的なアルゴリズム組んでソース売ればええやん。
747 名前:デフォルトの名無しさん (ワッチョイ 757b-kdTI) mailto:sage [2016/08/02(火) 13:46:50.53 ID:gW1Wrb7f0.net] どんなデータも1バイトに圧縮し 復元を不可能にするアルゴリズム
748 名前:デフォルトの名無しさん (ワッチョイ 7fe7-UbOe) mailto:sage [2016/08/02(火) 13:51:29.22 ID:YLg91Q2/0.net] ハノイ
749 名前:かと思ったら不可逆だった。 [] [ここ壊れてます]
750 名前:デフォルトの名無しさん (JP 0Hcd-h2bY) mailto:sage [2016/08/02(火) 13:55:31.98 ID:1+WRG/xHH.net] >>732 辞書サイズは数億テラバイトです
751 名前:デフォルトの名無しさん (JP 0Hcd-h2bY) mailto:sage [2016/08/02(火) 13:57:13.65 ID:1+WRG/xHH.net] あ〜ダメだ 検索キーもテラバイト以上だわ
752 名前:デフォルトの名無しさん (ワッチョイ 7ea6-n/e8) [2016/08/02(火) 14:59:01.53 ID:WLaUhyh00.net] >>734 数百エクサバイト
753 名前:デフォルトの名無しさん (アウアウ Sa01-sui1) mailto:sage [2016/08/02(火) 15:39:50.56 ID:alL9nwnNa.net] >>724 成果物ができるまでの間、退屈でしょうから競技プログラミングを始めると張り合いが出ますよ 競技プログラミングにハマるプログラマのスレ 3 tamae.2ch.net/test/read.cgi/prog/1468710465/
754 名前:デフォルトの名無しさん (アウアウ Sa01-26Kx) mailto:sage [2016/08/02(火) 18:28:17.64 ID:cLBx5CIGa.net] >>727 CADみたいなものを作りたい。 3DCADは難しそうだけど、2Dなら簡単かな?って思ってるけど、甘いですか?
755 名前:デフォルトの名無しさん (ワッチョイ de3c-Y0VN) mailto:sage [2016/08/02(火) 19:13:01.29 ID:jbpKST8w0.net] お前さんの実力による まあサクっとできる奴はこんなスレでそんな質問はしないと思うが
756 名前:デフォルトの名無しさん (アウアウ Sa01-26Kx) mailto:sage [2016/08/02(火) 19:39:02.34 ID:1Qrut2t0a.net] 学習し始めって書いたじゃん おまいさんは、同じことを何回も聞くタイプなんだろうなw
757 名前:デフォルトの名無しさん (ブーイモ MMcd-Y0VN) mailto:sage [2016/08/02(火) 19:50:27.77 ID:cf3BF6/sM.net] 2Dでもアイソメ楕円とか自由曲線は難易度高いかも 後はレイヤー管理がメインかなぁ
758 名前:デフォルトの名無しさん (ワッチョイ 9c42-oK17) mailto:sage [2016/08/02(火) 20:03:23.74 ID:RnjV5EAQ0.net] CADの場合は、最初からそういう難しいことに取り組まず 直線と円弧での描画をやってみると良いカモ
759 名前:デフォルトの名無しさん (ワッチョイ de3c-Y0VN) mailto:sage [2016/08/02(火) 20:54:47.07 ID:jbpKST8w0.net] >>740 暗にお前には無理 って言われてることぐらいは理解しようよ
760 名前:デフォルトの名無しさん (ワッチョイ 7202-oK17) mailto:sage [2016/08/02(火) 20:59:37.59 ID:SmTpSA0P0.net] 簡単な図形の描画や内外判定から順に取り組んでいくべき そして徐々にできることが増えてくると楽しくなる
761 名前:デフォルトの名無しさん (アウアウ Sa01-26Kx) mailto:sage [2016/08/02(火) 22:50:07.40 ID:OwqAoKada.net] 釣れたw
762 名前:デフォルトの名無しさん (ブーイモ MMcd-Y0VN) mailto:sage [2016/08/02(火) 22:57:51.52 ID:dweuolJ5M.net] >>734 俺はもう実装できたぞ
763 名前:デフォルトの名無しさん (ワッチョイ d5e6-Y0VN) mailto:sage [2016/08/02(火) 23:15:00.58 ID:WQEcte8L0.net] >>740 > 学習し始めって書いたじゃん どこに書いたんだよw
764 名前:デフォルトの名無しさん (アウアウ Sa01-sui1) mailto:sage [2016/08/03(水) 02:07:06.25 ID:y3itLeKxa.net] どうして争うの?(・ิω・ิ)
765 名前:デフォルトの名無しさん (ワッチョイ cddc-1jYK) mailto:sage [2016/08/03(水) 06:26:39.84 ID:Ibo0j3eF0.net] >>738 == >>740 ( == >>724 ) なのかな? もしそうなら「デフォルトの名無しさん」で投稿しててIDも違うのに 同じ人物の発言と察してくれってのは無理筋ってモンじゃないかぇ。 ワッチョイの方は一致してるけどさ。
766 名前:デフォルトの名無しさん (ワッチョイ 9c42-oK17) mailto:sage [2016/08/03(水) 07:20:08.42 ID:qmXkrxcu0.net] そこはワッチョイで察してやれ
767 名前:デフォルトの名無しさん (ワッチョイ b94a-yFKW) mailto:sage [2016/08/03(水) 07:36:48.44 ID:Ve2x0gaK0.net] >>748 そういう年頃なんだろ
768 名前:デフォルトの名無しさん (ドコグロ MM74-Y0VN) mailto:sage [2016/08/03(水) 07:49:57.03 ID:QRN/XaVqM.net] 初心者でもなんでもいいけどいちいち >>740 みたいなこと言う奴はスルーでいいかと
769 名前:デフォルトの名無しさん (ワッチョイ 7ea6-n/e8) [2016/08/03(水) 10:13:34.98 ID:EXqlE33b0.net] 煽り耐性が足りないね
770 名前:デフォルトの名無しさん (ワッチョイ 9c41-UbOe) mailto:sage [2016/08/03(水) 19:09:08.41 ID:h9b7IxGI0.net] class Foo{};って 宣言?定義?
771 名前:デフォルトの名無しさん (ワンミングク MMed-Y0VN) mailto:sage [2016/08/03(水) 19:35:16.32 ID:wYpM7kzSM.net] 定義
772 名前:デフォルトの名無しさん (ワッチョイ 9c41-UbOe) mailto:sage [2016/08/03(水) 19:45:08.17 ID:h9b7IxGI0.net] 定義ならアドレスが取れるはずですよね? int a; なら&aみたく。 どうやってアドレスを取るのですか?
773 名前:デフォルトの名無しさん (ワッチョイ 7551-xLev) mailto:sage [2016/08/03(水) 19:49:36.89 ID:fJKhNvbj0.net] >定義ならアドレスが取れるはずですよね? なんでそう思った
774 名前:デフォルトの名無しさん (ワッチョイ 9c41-UbOe) mailto:sage [2016/08/03(水) 19:5
] [ここ壊れてます]
775 名前:3:24.68 ID:h9b7IxGI0.net mailto: >なんでそう思った 宣言と定義の違いは [] [ここ壊れてます]
776 名前:デフォルトの名無しさん (ワッチョイ df12-xLev) mailto:sage [2016/08/03(水) 20:15:02.76 ID:N9MmOijn0.net] どうでもよいけど、定義ならアドレスが取れるというのは君の思い込みだから
777 名前:デフォルトの名無しさん (ワッチョイ 7202-oK17) mailto:sage [2016/08/03(水) 20:54:34.52 ID:sZD2VxNu0.net] メモリ上にないもののアドレスは取れない
778 名前:デフォルトの名無しさん (オッペケ Sr69-Y0VN) mailto:sage [2016/08/03(水) 21:02:34.68 ID:wmDQLAzIr.net] >>758 日本語で会話のキャッチボールが出来ない低能は去れ
779 名前:デフォルトの名無しさん (オッペケ Sr69-Y0VN) mailto:sage [2016/08/03(水) 21:05:53.07 ID:wmDQLAzIr.net] そのうち755に対して「バーカ」と言い出すんだろうか。 狙ったような引っ掛け質問だ
780 名前:デフォルトの名無しさん (アウアウ Sa01-26Kx) mailto:sage [2016/08/03(水) 21:10:28.83 ID:brj0j+YHa.net] >>760 そのメモリ上に、存在しなくても定義というの? extern int a; もaはメモリは確保しない。 定義なのかしらん?w
781 名前:デフォルトの名無しさん (スプッッ Sdb8-Y0VN) [2016/08/03(水) 21:12:53.15 ID:1RE7rbq9d.net] // クラス名の宣言 class C ; // クラスの宣言と定義 class C { } ;
782 名前:デフォルトの名無しさん (アウアウ Sa01-26Kx) mailto:sage [2016/08/03(水) 21:18:30.62 ID:tpuDUd8ra.net] だから定義の定義を言えよ
783 名前:デフォルトの名無しさん (ワッチョイ 7202-oK17) mailto:sage [2016/08/03(水) 21:20:54.59 ID:sZD2VxNu0.net] 言わなくていいぞ
784 名前:デフォルトの名無しさん (ワッチョイ 7ea6-n/e8) [2016/08/03(水) 21:21:01.79 ID:EXqlE33b0.net] >>759 どうでもよくねえだろ >>763 #define はアドレスが取れたり取れなかったりする extern int a; は定義ではない宣言だ メモリを取るかどうかが定義と宣言の境界だと思ってるやつ そのメモリが実行環境か翻訳環境かの意識はあるか?
785 名前:デフォルトの名無しさん (アウアウ Sa01-26Kx) mailto:sage [2016/08/03(水) 21:26:02.48 ID:tpuDUd8ra.net] だったら定義の定義を、言えって
786 名前:デフォルトの名無しさん (アウアウ Sa01-26Kx) mailto:sage [2016/08/03(水) 21:26:44.71 ID:tpuDUd8ra.net] 偉そうなこと抜かしてる割には、結局知らんのかいwwww
787 名前:デフォルトの名無しさん (ワッチョイ d6c0-yFKW) mailto:sage [2016/08/03(水) 21:27:42.07 ID:nLkvqRyM0.net] ふと思ったんだが最適化でレジスタに確保されてしまった変数はアドレス取れるの?
788 名前:デフォルトの名無しさん (スプッッ Sd19-Y0VN) mailto:sage [2016/08/03(水) 21:29:08.10 ID:tfmCVBfOd.net] どこにオブジェクトがあるんだよ
789 名前:デフォルトの名無しさん (ワッチョイ 7c33-Y0VN) [2016/08/03(水) 21:30:10.87 ID:d/dZHX0p0.net] >>770 それは最適化されないと思われ。
790 名前:デフォルトの名無しさん (ワッチョイ b2a6-oK17) mailto:sage [2016/08/03(水) 22:13:25.66 ID:BOTm7b5n0.net] >>754 どこに何個の変数があるんだよ
791 名前:デフォルトの名無しさん (オッペケ Sr69-Y0VN) mailto:sage [2016/08/03(水) 22:27:32.41 ID:wmDQLAzIr.net] 764を読んでもこのようなレスが出てくるのが不思議だ。 どうしてオブジェクトの定義のみが定義だと盲信してしまったのか class A {}; // クラスの定義 namespace {} // 名前空間の定義 namespace aho = std;//エイリアスの定義 template<typename T> void f() {}//テンプレートの定義 int a = 0; //オブジェクト(変数)の定義
792 名前:デフォルトの名無しさん (ワッチョイ 9c41-MYFu) mailto:sage [2016/08/03(水) 22:28:34.94 ID:h9b7IxGI0.net] 例を挙げるのではなく、定義の定義をいえないのか?
793 名前:デフォルトの名無しさん (オッペケ Sr69-Y0VN) mailto:sage [2016/08/03(水) 22:34:12.86 ID:wmDQLAzIr.net] 言おうとしたら766に止められたので… 規格の3.1段落2で定義と規定されたものが定義
794 名前:デフォルトの名無しさん (ワッチョイ b2a6-oK17) mailto:sage [2016/08/03(水) 22:35:15.79 ID:BOTm7b5n0.net] >>775 まず自分が「アドレス」の定義を言ってからにすれば?
795 名前:デフォルトの名無しさん (ワッチョイ 9c41-MYFu) mailto:sage [2016/08/03(水) 22:40:43.22 ID:h9b7IxGI0.net] ばかはだまってろ
796 名前:デフォルトの名無しさん (スププ Sdb8-Y0VN) mailto:sage [2016/08/03(水) 22:45:55.19 ID:zTK4B9l9d.net] 規格で定義とされるものが企画上の定義の定義
797 名前:デフォルトの名無しさん (ワッチョイ b2a6-oK17) mailto:sage [2016/08/03(水) 22:49:13.37 ID:BOTm7b5n0.net] 強気だな
798 名前:デフォルトの名無しさん (ワッチョイ 9c41-MYFu) mailto:sage [2016/08/03(水) 22:49:50.10 ID:h9b7IxGI0.net] そんなこと書くなら、漢字くらい間違えずに書けよw
799 名前:デフォルトの名無しさん (ワッチョイ df12-xLev) mailto:sage [2016/08/03(水) 22:57:03.34 ID:N9MmOijn0.net] 早く>>756 の恥ずかしい書き込みが流れると良いですね
800 名前:デフォルトの名無しさん (ワッチョイ d5e6-Y0VN) mailto:sage [2016/08/03(水) 23:01:08.38 ID:L2GgWGz30.net] >>754 の言う定義って言うのはアドレスがとれるもののことだそうだから定義じゃないよ
801 名前:デフォルトの名無しさん (ワッチョイ 9c42-oK17) mailto:sage [2016/08/03(水) 23:11:16.91 ID:qmXkrxcu0.net] 建物の定礎みたいだな
802 名前:デフォルトの名無しさん (ワッチョイ 768b-UbOe) mailto:sage [2016/08/03(水) 23:25:38.25 ID:bs94iYaP0.net] GCCはCで書かれているのでは…
803 名前:デフォルトの名無しさん (ワッチョイ 6741-iWsk) mailto:sage [2016/08/04(木) 00:06:53.91 ID:GwQfuXTc0.net] 答えれずに質問されたさいの間違いをつつくことしかできない連中ばっかだなwww
804 名前:デフォルトの名無しさん (ワッチョイ df13-yTU/) mailto:sage [2016/08/04(木) 00:11:01.72 ID:zknMnxXT0.net] >>785 最近はc++だとか
805 名前:デフォルトの名無しさん (ワッチョイ 6742-+Lqe) mailto:sage [2016/08/04(木) 01:51:50.41 ID:02Ni6VFF0.net] gcc-6.1.0.tar.gz 展開してソース見たけど、Cだな
806 名前:デフォルトの名無しさん (ワッチョイ cb7b-bKmi) mailto:sage [2016/08/04(木) 02:37:59.26 ID:z8XBjF8D0.net] コンパイラみたいなソフトだったら例外ですっ飛ばすとかあんま必要ないしな。
807 名前:デフォルトの名無しさん (ワッチョイ df73-40WA) mailto:sage [2016/08/04(木) 06:04:40.50 ID:w3J0CztI0.net] ぐぐった 宣言ー外部に表明 定義ー概念内容をはっきりと定めること >>754 表明?ー意見・意志などをひとの前にはっきりと表し示すこと >>767 が適切に答えている 実行環境に直接関係するのか、翻訳環境でのみ利用されるのか
808 名前:デフォルトの名無しさん (ワッチョイ eb7b-uSQd) [2016/08/04(木) 06:41:20.15 ID:Mm46IUtm0.net] >>788 gccの下に拡張子が .cc のファイルあるだろ
809 名前:デフォルトの名無しさん (ドコグロ MM0f-d+5h) mailto:sage [2016/08/04(木) 06:46:46.60 ID:l9MpwXpkM.net] >>770 アドレス取るとメモリー上に確保する インライン関数とかもアドレス取るとそれようの関数を生成したりする
810 名前:デフォルトの名無しさん (スップ Sdef-d+5h) mailto:sage [2016/08/04(木) 08:39:12.95 ID:Xnj5FLHOd.net] >>775 みたいな再帰的な質問はルール違反だな。
811 名前:デフォルトの名無しさん (ワッチョイ 6742-+Lqe) mailto:sage [2016/08/04(木) 08:42:31.88 ID:02Ni6VFF0.net] >>791 あるな。見落としてたすまない。
812 名前:デフォルトの名無しさん (ワッチョイ efa6-giu7) [2016/08/04(木) 09:02:08.35 ID:yc16QQH40.net] 宣言は重複できる 定義は重複できない
813 名前:デフォルトの名無しさん (ワッチョイ f3c9-d+5h) mailto:sage [2016/08/04(木) 11:34:04.46 ID:uGkDxVxl0.net] 定義も重複できます。 インライン関数、クラス、テンプレートなどなど。
814 名前:デフォルトの名無しさん (ワッチョイ 6741-iWsk) mailto:sage [2016/08/04(木) 12:05:59.70 ID:GwQfuXTc0.net] 結局定義の意味を知らないやつばっかじゃんw
815 名前:デフォルトの名無しさん (スップ Sdef-d+5h) mailto:sage [2016/08/04(木) 12:10:07.43 ID:Xnj5FLHOd.net] >>797 最初の質問をほっぽらかしてるから定義問題なんか誰も答えないよ
816 名前:デフォルトの名無しさん (ワッチョイ efa6-giu7) [2016/08/04(木) 12:13:33.04 ID:yc16QQH40.net] >>796 inline void f() {} inline void f() {} //C2084 class a{}; class a{}; //C2011 template <typename T> void t(T) {} template <typename T> void t(T) {} //C2995
817 名前:デフォルトの名無しさん (スプッッ Sd3f-d+5h) mailto:sage [2016/08/04(木) 12:15:38.99 ID:NBIT0foTd.net] >>799 同一ソースファイル内で重複はそりゃだめだろ。
818 名前:デフォルトの名無しさん (ワッチョイ efa6-giu7) [2016/08/04(木) 12:18:52.00 ID:yc16QQH40.net] で、定義は重複できるのか?
819 名前:デフォルトの名無しさん (スップ Sdef-d+5h) mailto:sage [2016/08/04(木) 12:26:18.94 ID:Xnj5FLHOd.net] そんな ODR C++ でぐぐればすぐ出てくる質問すんな
820 名前:デフォルトの名無しさん (ドコグロ MM0f-d+5h) mailto:sage [2016/08/04(木) 12:53:11.55 ID:l9MpwXpkM.net] >>793 前の「定義」と後ろの「定義」は対象が違う そんな区別もできないおんぼろパーサーは捨ててしまえ
821 名前:デフォルトの名無しさん (ワッチョイ efa6-giu7) [2016/08/04(木) 12:58:46.48 ID:yc16QQH40.net] 出た、困ったらグーグルに丸投げして逃げるやつ
822 名前:デフォルトの名無しさん (スップ Sdef-d+5h) mailto:sage [2016/08/04(木) 13:07:55.31 ID:Xnj5FLHOd.net] >>803 そういう意味ではなく、もとの質問からどんどん遡っていつまでも終わらない質問を繰り返す態度を指して「再帰的な質問」と言っている。
823 名前:デフォルトの名無しさん (スップ Sdef-d+5h) mailto:sage [2016/08/04(木) 13:12:06.88 ID:Xnj5FLHOd.net] だいたい>>765 の質問が悪い。そんなの自分で調べろ。くぐれと言われるのも当然だ。 もとの質問(>>756 とか)に対する回答が来てるのに無視してる態度が気に食わん。
824 名前:デフォルトの名無しさん (ワッチョイ 4be6-d+5h) mailto:sage [2016/08/04(木) 13:56:23.92 ID:Kzc2I9D20.net] まともな質問ができなけりゃまともな答えは返ってこないわな
825 名前:デフォルトの名無しさん (ワッチョイ efa6-giu7) [2016/08/04(木) 14:11:48.39 ID:yc16QQH40.net] 効いてる、効いてるw
826 名前:デフォルトの名無しさん (スップ Sdef-d+5h) mailto:sage [2016/08/04(木) 14:21:54.23 ID:Xnj5FLHOd.net] とにかく>>756 の 「定義ならアドレスが取れるはずですよね?」 が始まりだから。
827 名前:デフォルトの名無しさん (アウアウ Sa47-82/a) mailto:sage [2016/08/04(木) 14:38:30.51 ID:oA3L4Jsua.net] じゃ、定義とはなんですか?
828 名前:デフォルトの名無しさん (ワッチョイ 6fcc-d+5h) mailto:sage [2016/08/04(木) 15:25:13.99 ID:BIfvsNQ70.net] 定義と宣言の説明だけで無駄レスし過ぎだおまいら
829 名前:デフォルトの名無しさん (ドコグロ MM0f-d+5h) mailto:sage [2016/08/04(木) 15:36:45.86 ID:l9MpwXpkM.net] >>805 遡っているならいつかは辿り着くだろうし 堂々巡りしてるなら業界的にはループしてる って言うんじゃね?
830 名前:デフォルトの名無しさん (ワッチョイ cb7b-TDLi) mailto:sage [2016/08/04(木) 15:47:34.64 ID:giSm9Lrj0.net] 宣言は同じものを2行並べて書いてもエラーにならない 定義は同じものを2行並べて書くとエラーになる これであってる?
831 名前:デフォルトの名無しさん (ワッチョイ 6fcc-d+5h) mailto:sage [2016/08/04(木) 15:53:32.09 ID:BIfvsNQ70.net] 宣言というのはソイツがナニモノであるか表記したもの 定義というのはソイツの中身を記述したもの アドレスはソイツをインスタンスしたところで初めて取れる
832 名前:デフォルトの名無しさん (ワッチョイ efa6-giu7) [2016/08/04(木) 16:31:33.03 ID:yc16QQH40.net] へー、じゃクラステンプレートはインスタンスしただけでアドレスを持つようになるのか
833 名前:デフォルトの名無しさん (ワッチョイ 7b7b-o/gb) [2016/08/04(木) 16:53:24.54 ID:u/EohbaA0.net] バ カ
834 名前:デフォルトの名無しさん (ワッチョイ 6fcc-d+5h) mailto:sage [2016/08/04(木) 17:25:37.28 ID:BIfvsNQ70.net] >>815 最適化の具合による
835 名前:デフォルトの名無しさん (ワッチョイ 6fcc-d+5h) mailto:sage [2016/08/04(木) 17:27:02.90 ID:BIfvsNQ70.net] ていうかインスタンス化してアドレスのない構造体なんかないだろ
836 名前:デフォルトの名無しさん (スップ Sdef-d+5h) mailto:sage [2016/08/04(木) 18:14:05.28 ID:Xnj5FLHOd.net] テンプレートのインスタンス化って using myVector = std::vector<myClass>; しただけでインスタンス化したことになるんだっけ? (オブジェクトは作ってない)
837 名前:デフォルトの名無しさん (ワッチョイ 6fcc-d+5h) mailto:sage [2016/08/04(木) 18:27:58.43 ID:BIfvsNQ70.net] それは単なるアイリアスだろ
838 名前:デフォルトの名無しさん (ワッチョイ efa6-giu7) [2016/08/04(木) 18:28:06.63 ID:yc16QQH40.net] そゆこと
839 名前:デフォルトの名無しさん (アウアウ Sa47-82/a) mailto:sage [2016/08/04(木) 18:29:14.33 ID:p8X98lhoa.net] >>820 アイリアスwww
840 名前:デフォルトの名無しさん (ワッチョイ efa6-giu7) [2016/08/04(木) 18:30:04.62 ID:yc16QQH40.net] void func(std::vector<myClass>* str) { std::cout << str; } int main() { func(nullptr); } で、どこにアドレスがあるんだ? 最適化であったりなかったりするのか?
841 名前:デフォルトの名無しさん (ワッチョイ 6fcc-d+5h) mailto:sage [2016/08/04(木) 18:35:34.77 ID:BIfvsNQ70.net] この馬鹿手に負えないな
842 名前:デフォルトの名無しさん (スップ Sdef-d+5h) mailto:sage [2016/08/04(木) 18:36:50.28 ID:Xnj5FLHOd.net] そうだな>>819 では実体化されないとわかった。 実オブジェクトを生成するか、 template class std::vector<myClass>; としなければならないと今知った。
843 名前:デフォルトの名無しさん (ワッチョイ efa6-giu7) [2016/08/04(木) 18:39:02.25 ID:yc16QQH40.net] 手に負えないと正直にぬかしたか
844 名前:デフォルトの名無しさん (オッペケ Sr07-d+5h) mailto:sage [2016/08/04(木) 18:40:34.11 ID:10JPHxlsr.net] >>818 少なくともISO/IEC 14882:2003にはアドレスを持つ構造体は無いぞ
845 名前:デフォルトの名無しさん (ワッチョイ 6fcc-d+5h) mailto:sage [2016/08/04(木) 18:41:26.17 ID:BIfvsNQ70.net] strとnullptrがモロにアドレスだろ で、アドレスがどこにあるかわからんとか寝ぼけてんの?
846 名前:デフォルトの名無しさん (ワッチョイ 6fcc-d+5h) mailto:sage [2016/08/04(木) 18:43:22.58 ID:BIfvsNQ70.net] >>827 言い方が悪かった 構造体をインスタンス化した実体な
847 名前:デフォルトの名無しさん (オッペケ Sr07-d+5h) mailto:sage [2016/08/04(木) 19:00:44.98 ID:10JPHxlsr.net] >>829 どうしたいきなり >>815 は型であるクラスの定義(クラステンプレートをインスタンス化したもの)の話をしていたのに 突然 、変数の話をしだすなんて
848 名前:デフォルトの名無しさん (オッペケ Sr07-d+5h) mailto:sage [2016/08/04(木) 19:02:19.74 ID:10JPHxlsr.net] >nullptrがモロにアドレスだろ 細かいことだが、んなこたーない
849 名前:デフォルトの名無しさん (ワッチョイ 6fcc-d+5h) mailto:sage [2016/08/04(木) 19:06:08.42 ID:BIfvsNQ70.net] >>830 テンプレートもインスタンス化したら実体をもつわけだが 真性の馬鹿なのか?
850 名前:デフォルトの名無しさん (ワッチョイ 6fcc-d+5h) mailto:sage [2016/08/04(木) 19:07:31.61 ID:BIfvsNQ70.net] >>831 じゃnullptrがアドレスじゃない証明をしてみろよ
851 名前:デフォルトの名無しさん (ワッチョイ 6fcc-d+5h) mailto:sage [2016/08/04(木) 19:10:55.23 ID:BIfvsNQ70.net] 日本のコーダの質が知れるわw馬鹿しか居ないw
852 名前:デフォルトの名無しさん (オッペケ Sr07-d+5h) mailto:sage [2016/08/04(木) 19:12:36.44 ID:10JPHxlsr.net] >>832 その実体にはアドレスが無いだろう、 というのが>>815 のレスなのだが どうして「テンプレートをインスタンス化した実体(=クラス)」と 「クラスをインスタンス化した実体」をすり替えたがるのか
853 名前:デフォルトの名無しさん (スップ Sdef-d+5h) mailto:sage [2016/08/04(木) 19:13:43.59 ID:Xnj5FLHOd.net] 結局>>756 の 「定義ならアドレスが取れるはずですよね?」 という質問の意味はなんだったんだ? 「その型のポインタ変数にnullptrを代入できるか」ってことならむろんyesだが、それなら宣言だけでもできるしな。
854 名前:デフォルトの名無しさん (ワッチョイ 7f7b-tuv5) mailto:sage [2016/08/04(木) 19:22:45.01 ID:Wyyp2Ekr0.net] >>833 nullptrは型情報をもっている アドレスは型情報を持たない
855 名前:デフォルトの名無しさん (オッペケ Sr07-d+5h) mailto:sage [2016/08/04(木) 20:15:48.72 ID:xD/P91aqr.net] >>836 頭のおかしな奴に論理性を求めてはいけない >>754 >class Foo{};って宣言?定義? ↓ >>756 (本人) >定義ならアドレスが取れるはずですよね? これを見ただけで相手にする価値が無いことは明らか
856 名前:デフォルトの名無しさん (ワッチョイ bf02-+Lqe) mailto:sage [2016/08/04(木) 20:35:45.14 ID:OXXVH+Z60.net] まずコーダとかSIer丸出しな言葉使いやめたら
857 名前:デフォルトの名無しさん (オッペケ Sr07-d+5h) mailto:sage [2016/08/04(木) 20:41:47.51 ID:xD/P91aqr.net] >>833 nullptrはポインターでもメンバーへのポインターでもなく、整数型でもないとされている。 むしろこれがアドレスであると結論付ける根拠が何ら見いだせない
858 名前:デフォルトの名無しさん (ワッチョイ 2f68-8B3a) mailto:sage [2016/08/04(木) 20:50:04.03 ID:tght595J0.net] class A : public B<C> { ... } みたいにテンプレートクラスBを継承した場合、Aは普通のクラスになるんですか?それともテンプレートクラス?
859 名前:デフォルトの名無しさん (ワッチョイ bf02-+Lqe) mailto:sage [2016/08/04(木) 20:51:26.39 ID:OXXVH+Z60.net] Aがテンプレートならテンプレートクラス
860 名前:デフォルトの名無しさん (ワッチョイ 6741-iWsk) mailto:sage [2016/08/04(木) 20:52:08.14 ID:GwQfuXTc0.net] 結局答えは出せたの? 定義の意味は? アドレスが云々が間違えてたとして結局は答えだせないんでしょwwww
861 名前:デフォルトの名無しさん (ワッチョイ efa6-giu7) [2016/08/04(木) 20:52:26.72 ID:yc16QQH40.net] >>832 template <typename> class afo { }; afo<int>* p; どこに実体があるんだよ!
862 名前:デフォルトの名無しさん (ワッチョイ 2f68-8B3a) mailto:sage [2016/08/04(木) 20:52:29.73 ID:tght595J0.net] >>842 継承元に関係なくA次第ってことですね どうもありがとう
863 名前:デフォルトの名無しさん (オッペケ Sr07-d+5h) mailto:sage [2016/08/04(木) 20:58:24.42 ID:xD/P91aqr.net] >>843 >結局は答えだせないんでしょ 昨日「規格の3.1段落2」というヒントをやったけど、 日本語あまり得意じゃなかった?
864 名前:デフォルトの名無しさん (スップ Sd6f-d+5h) mailto:sage [2016/08/04(木) 21:34:07.30 ID:0+b6LrNLd.net] 民明書房刊「C++の定義と宣言 その留意点」(江添亮)
865 名前:デフォルトの名無しさん (ワッチョイ bba2-d+5h) [2016/08/04(木) 21:42:59.85 ID:cCkuFoiR0.net] 江田島平八やろ
866 名前:デフォルトの名無しさん (ワッチョイ f763-d+5h) mailto:sage [2016/08/04(木) 23:21:53.70 ID:lGnnrOsl0.net] そろそろ次の人どうぞ
867 名前:デフォルトの名無しさん (ワッチョイ f317-d+5h) mailto:sage [2016/08/05(金) 01:16:51.21 ID:Q1teh0cP0.net] inline関数ってコンパイル時に展開しといて実行時のオーバヘッドをなくせるけど、それなら全部inlineて書いたほうがお得だよね inline関数のデメリットは何ですか?
868 名前:デフォルトの名無しさん (ワッチョイ 7312-r8bK) mailto:sage [2016/08/05(金) 01:40:59.24 ID:VlcB2rw70.net] プログラムのサイズが超でかくなる CPUのキャッシュのミスヒット率が上がるかもしれない どうせ、仮想関数はインライン展開されない 一番問題なのは、コンパイル時間が超長くなる インライン関数はヘッダに書く ということは、それを読み込む全ての.cppファイル・・・ な!
869 名前:デフォルトの名無しさん (ワッチョイ f7cf-r8bK) mailto:sage [2016/08/05(金) 01:45:58.39 ID:h9gyRaS30.net] >>850 ・分割コンパイルによるビルド時間の効率化と逆行する。 ・inline っていっぱい書くのがめんどい。良いコンパイラなら勝手にやってくれるところなのに。
870 名前:デフォルトの名無しさん (ワッチョイ 6fcc-d+5h) mailto:sage [2016/08/05(金) 04:17:33.66 ID:+HzEYeYM0.net] 再帰はインラインできねぇだろハゲ!
871 名前:デフォルトの名無しさん (ワッチョイ f3e7-PVLz) mailto:sage [2016/08/05(金) 04:20:54.85 ID:qb9JFZzp0.net] 末尾再帰でループに展開できればあるいは・・・。
872 名前:デフォルトの名無しさん (ワッチョイ 4fc0-QI3I) mailto:sage [2016/08/05(金) 05:40:43.21 ID:cHxSirtv0.net] >>853 そんなに煽るとレスが再帰するよ
873 名前:デフォルトの名無しさん (ワッチョイ f763-d+5h) mailto:sage [2016/08/05(金) 06:49:39.69 ID:KuwiCwk00.net] C++17で変数もinline指定出来るようになったら インクルードファイルに多量のグローバル変数が溢れる予感
874 名前:デフォルトの名無しさん (オッペケ Sr07-d+5h) mailto:sage [2016/08/05(金) 07:59:52.63 ID:9H/d0cigr.net] >>853 そんな、インライン関数とインライン展開の話をすり替えられても…
875 名前:デフォルトの名無しさん (ワッチョイ bf02-+Lqe) mailto:sage [2016/08/05(金) 08:39:49.67 ID:w0huO64O0.net] プリコンパイル済みヘッダに書かれた関数はインライン展開できる?
876 名前:デフォルトの名無しさん (ワッチョイ f3e7-PVLz) mailto:sage [2016/08/05(金) 08:41:00.76 ID:qb9JFZzp0.net] 環境依存じゃね?
877 名前:デフォルトの名無しさん (ワッチョイ bba2-d+5h) [2016/08/05(金) 08:44:24.26 ID:DFO/+W5I0.net] ヘッダファイルのプリコンパイルすら環境依存だしね。。。
878 名前:デフォルトの名無しさん (ワッチョイ efa6-giu7) [2016/08/05(金) 18:02:13.50 ID:g8dNuMjF0.net] 858はアセンブラが読めないわけね
879 名前:デフォルトの名無しさん (オッペケ Sr07-d+5h) mailto:sage [2016/08/05(金) 20:47:59.48 ID:9H/d0cigr.net] 環境依存とは言うがが プリコンパイルしたためにインライン展開されなくなってしまったら プリコンパイルの存在意義は無いに等しい
880 名前:デフォルトの名無しさん (ワッチョイ 2fc2-4YG7) mailto:sage [2016/08/05(金) 23:39:23.84 ID:XaBR5PYt0.net] 心配するな。 お前の存在意義だって無いに等しいんだからさ。
881 名前:デフォルトの名無しさん (ワッチョイ bbbf-d+5h) [2016/08/05(金) 23:44:30.05 ID:7g3iCo2L0.net] >>862 どう思おうが君の自由でもあり僕の自由でもあり。
882 名前:デフォルトの名無しさん (アウアウ Sa47-DOZo) mailto:sage [2016/08/06(土) 02:10:30.65 ID:GoVmW8oka.net] なんでいつ開いても喧嘩してるのこのスレ
883 名前:デフォルトの名無しさん (ワッチョイ df4d-d+5h) mailto:sage [2016/08/06(土) 03:59:14.66 ID:+SerLQJ20.net] どのスレもこんな感じだろ。 昔から日本のプログラマはレベル低い割に性格悪くてな。 Stackoverflow辺りの建設的なやりとりと比べると…
884 名前:デフォルトの名無しさん (ワッチョイ 6fcc-d+5h) mailto:sage [2016/08/06(土) 04:40:37.89 ID:BLz0TWEd0.net] 屁理屈言うと頭良さそう的な糞風潮ジャアップw
885 名前:デフォルトの名無しさん (ワッチョイ 6f3c-d+5h) mailto:sage [2016/08/06(土) 06:46:22.75 ID:y/TrjN6T0.net] 自由だけど常識的には >>862 みたいに考えるわな
886 名前:デフォルトの名無しさん (ブーイモ MM6f-d+5h) [2016/08/06(土) 08:44:07.85 ID:GOiKP7RVM.net] なぜ色々な考えがある中で自分の考えが多数派と思うの? 規格と違って明確な答えなんて出ないと思うのだが
887 名前:デフォルトの名無しさん (ワッチョイ bbbf-d+5h) [2016/08/06(土) 08:54:34.06 ID:cMWpKQUH0.net] もうやめときなよ。 >>862 みたいな否定表現を使う偏向思想な人、マには多い気がするけど、答えがないから主観での宗教論争になりがち。 こういう人を相手にするのは、ディベートの練習にはいいかもだけど、会社では時間の無駄。 肯定表現を使ってくれれば有意義な議論ができるんだけどね。
888 名前:デフォルトの名無しさん (ワントンキン MM2f-uSQd) [2016/08/06(土) 09:18:43.60 ID:AzdnJyWBM.net] よし、お前ら自分のGitHubアカウント晒そうぜ! 書いたコード見ればレベル低いかどうか丸わかりさ!
889 名前:デフォルトの名無しさん (ワッチョイ 7f7b-tuv5) mailto:sage [2016/08/06(土) 09:45:32.37 ID:4oIDfdFe0.net] >>870 お前のような非建設的な発言より>>862 の方が説得力があって、プリコンパイルドヘッダーを使っても、 インライン展開されない事は無いだろうと推測できる むしろ、>>858 ができないかも?という推論に至った方が異端 できなくする合理的な理由は無いだろう
890 名前:デフォルトの名無しさん (ワッチョイ f3e7-PVLz) mailto:sage [2016/08/06(土) 09:46:04.35 ID:Fje4jw7f0.net] yukicoderたのしー。
891 名前:デフォルトの名無しさん (アウアウ Sa47-DOZo) mailto:sage [2016/08/06(土) 10:03:09.75 ID:GoVmW8oka.net] ついでに競プロのレーティングも付記
892 名前:デフォルトの名無しさん (ワッチョイ 4be6-d+5h) mailto:sage [2016/08/06(土) 10:03:30.01 ID:WviBn9P10.net] >>862 程度の表現が嫌で有意義な議論ができなくなるってすごいな 会社でやって行きづらそう
893 名前:デフォルトの名無しさん (ワッチョイ 6f3c-d+5h) mailto:sage [2016/08/06(土) 13:40:27.06 ID:y/TrjN6T0.net] 議論では勝てそうにないから 言い方に難癖つけようってことでしょ それでも勝てないと人格攻撃 にちゃんではよくみる光景
894 名前:デフォルトの名無しさん (ワッチョイ efa6-giu7) [2016/08/06(土) 15:19:34.98 ID:rSXSUUu30.net] C++スレでC++でない話だけ100%のレスするやつな
895 名前:デフォルトの名無しさん (ワッチョイ bf02-+Lqe) mailto:sage [2016/08/06(土) 19:21:45.03 ID:giMifQMJ0.net] 議論というのは新しい提案にたいして行うものであって 決まっていることを無い知恵絞って自分の主張を認めさせるものではない
896 名前:デフォルトの名無しさん (スップ Sd6f-d+5h) mailto:sage [2016/08/06(土) 19:42:09.28 ID:Xkhj5Nx+d.net] みんながそう控えめならいいんだけどね
897 名前:デフォルトの名無しさん (ワッチョイ cb7b-bKmi) mailto:sage [2016/08/06(土) 20:21:02.04 ID:SlzxzKwb0.net] へ理屈語るにはうってつけの言語。それがc++。
898 名前:デフォルトの名無しさん (オッペケ Sr07-d+5h) mailto:sage [2016/08/06(土) 20:22:42.16 ID:vFciff3ar.net] 自分の主張を認めさせる必要が有る時点で 決まっていないことだろうに。 それに議論が新しい提案に対して行うものだなんて 糖質は今日も幻覚が酷いな
899 名前:デフォルトの名無しさん (ブーイモ MM67-d+5h) mailto:sage [2016/08/06(土) 21:27:34.52 ID:U1DuUqbyM.net] だから、そういうのを我慢して 書き込まないんだよ 子供じゃないんだから
900 名前:デフォルトの名無しさん (ワッチョイ 6741-PVLz) mailto:sage [2016/08/06(土) 21:52:20.89 ID:Ng0KAkRk0.net] くだらねー連中ばっかだな
901 名前:デフォルトの名無しさん (ワッチョイ 2fc2-4YG7) mailto:sage [2016/08/06(土) 22:00:48.66 ID:fG7kY+EI0.net] baka bakka
902 名前:デフォルトの名無しさん (アウアウ Sa47-DOZo) mailto:sage [2016/08/07(日) 02:46:25.23 ID:ypu2c+2fa.net] >>884 ルリルリ
903 名前:デフォルトの名無しさん (ワッチョイ 4fc0-QI3I) mailto:sage [2016/08/07(日) 05:27:38.94 ID:qJNsOOv30.net] 日本語プログラミング言語『なでしこ』スレ6.1©2ch.net echo.2ch.net/test/read.cgi/tech/1458981074/
904 名前:デフォルトの名無しさん (ワッチョイ f763-d+5h) mailto:sage [2016/08/07(日) 05:35:17.61 ID:W0a9UwyT0.net] スレ違いは去れ
905 名前:デフォルトの名無しさん (ワッチョイ 6741-PVLz) mailto:sage [2016/08/07(日) 06:01:23.74 ID:lFUkCgKK0.net] C++を習得するのにどれくらいかかりますか? 秀丸のようなテキストエディタくらいが書けるくらいになりたい
906 名前:デフォルトの名無しさん (ワッチョイ ef9f-OcIm) mailto:sage [2016/08/07(日) 06:21:20.08 ID:q5z6NkaV0.net] 秀丸は20年以上開発が続いていると思うのでそのくらいを目安に
907 名前:デフォルトの名無しさん (ワッチョイ efa6-giu7) [2016/08/07(日) 07:29:49.48 ID:GpzWvVwt0.net] >>888 俺みたいに頭悪いやつでもせいぜい2年 TCPLの初版からやってるが、 C++98, C++11が出るたびにまた初心者からやり直しで それが収まってくるのがだいたい1年強
908 名前:デフォルトの名無しさん (JP 0H67-EXAE) mailto:sage [2016/08/07(日) 08:28:34.84 ID:xBB6TA9CH.net] 秀丸は Win95 より前から現役だから VC6 程度マスターできれば足りるはず しかし現状のスキル一切提示せずにどれくらいと聞いても
909 名前:デフォルトの名無しさん (ワッチョイ 7b7b-o/gb) [2016/08/07(日) 09:02:30.00 ID:3DCDp1x40.net] 言語の習得と有用なアプリを作れる才能は別のこと
910 名前:デフォルトの名無しさん (ワッチョイ f37b-d+5h) mailto:sage [2016/08/07(日) 09:23:24.83 ID:EKTcu/DK0.net] 関数のプロトタイプ宣言とヘッダーファイルの関係についておしえて。
911 名前:デフォルトの名無しさん (オッペケ Sr07-d+5h) mailto:sage [2016/08/07(日) 10:40:35.94 ID:FG1Pf9COr.net] ではまずそのヘッダーファイルとやらの定義を伺おうか
912 名前:デフォルトの名無しさん (アウアウ Sa47-82/a) mailto:sage [2016/08/07(日) 12:50:03.51 ID:qMBdgW/Da.net] >>891 intとlongの違いがわからないれべるです
913 名前:デフォルトの名無しさん (ワッチョイ 7fcb-Kd7t) mailto:sage [2016/08/07(日) 12:58:22.95 ID:XQNWrGwh0.net] これは高度!
914 名前:デフォルトの名無しさん (ワッチョイ f3c9-d+5h) mailto:sage [2016/08/07(日) 13:04:27.46 ID:aG2G1G5u0.net] intとlongは同じだからな〜
915 名前:デフォルトの名無しさん (オッペケ Sr07-d+5h) mailto:sage [2016/08/07(日) 13:19:42.26 ID:FG1Pf9COr.net] つまり897とタメをはるレベル
916 名前:デフォルトの名無しさん (ワッチョイ bf02-+Lqe) mailto:sage [2016/08/07(日) 13:48:39.68 ID:t/bIx9j80.net] >>889 最初から秀丸のコピーを作るつもりでやればそんなにかからないけどな
917 名前:デフォルトの名無しさん (JP 0H67-EXAE) mailto:sage [2016/08/07(日) 13:50:07.72 ID:xBB6TA9CH.net] 釣りっぽい
918 名前:デフォルトの名無しさん (ワッチョイ cb7b-bKmi) mailto:sage [2016/08/07(日) 15:33:20.88 ID:HWUltxTh0.net] そりゃ極論すればベターc な使い方してても作れるしな。
919 名前:デフォルトの名無しさん (ワッチョイ 2bdc-buIf) mailto:sage [2016/08/07(日) 15:49:58.64 ID:i5zx9v470.net] 秀丸のクローンだかコピーだかをC++で作ったら ぜひ製品名「禿丸エディタ」で公開してくれ。
920 名前:デフォルトの名無しさん (ワッチョイ bbbf-d+5h) [2016/08/07(日) 16:30:41.57 ID:SU1DoGHK0.net] おーい禿丸
921 名前:デフォルトの名無しさん (ワッチョイ 7730-+Lqe) mailto:sage [2016/08/07(日) 17:02:56.43 ID:9x/mUqeF0.net] のむらしんぼじゃねぇのかよ
922 名前:デフォルトの名無しさん (ワッチョイ 7f36-82/a) mailto:sage [2016/08/07(日) 17:42:43.71 ID:HBtfJ5u1
] [ここ壊れてます]
923 名前:0.net mailto: あの程度のものなら1年あれば作れるようになる [] [ここ壊れてます]
924 名前:デフォルトの名無しさん (ワッチョイ 7b7b-o/gb) [2016/08/07(日) 17:54:38.08 ID:3DCDp1x40.net] と、永遠に作れないゴミがのたまっています
925 名前:デフォルトの名無しさん (ワッチョイ 7f36-82/a) mailto:sage [2016/08/07(日) 17:58:45.56 ID:HBtfJ5u10.net] たかがテキストエディタだろ 何が難しいの?
926 名前:デフォルトの名無しさん (ブーイモ MM67-d+5h) mailto:sage [2016/08/07(日) 18:29:00.35 ID:uNCwY4UvM.net] つ https://www.finseth.com/craft/ がんがれ
927 名前:デフォルトの名無しさん (ワッチョイ 7b7b-o/gb) [2016/08/07(日) 18:45:50.14 ID:3DCDp1x40.net] 厚かましい全能感を抱いている無能はこの業界にはいっぱいいます そういうのを見ぬいてパートナー候補から切り捨てていくのがこの業界で生きていく第一の条件です
928 名前:デフォルトの名無しさん (ワッチョイ 7f36-82/a) mailto:sage [2016/08/07(日) 18:46:38.49 ID:HBtfJ5u10.net] 読んでみたけど何が難しいの?
929 名前:デフォルトの名無しさん (JP 0H67-EXAE) mailto:sage [2016/08/07(日) 19:15:24.22 ID:xBB6TA9CH.net] メモリ操作のオーバーヘッドを対策できて IME制御やマルチバイト文字のクソ面倒くさいのを超えたら 大体出来たようなものかな あっ検索条件と結果のハイライトが改行をまたげるかどうかは相談してね
930 名前:デフォルトの名無しさん (オッペケ Sr07-d+5h) mailto:sage [2016/08/07(日) 19:42:47.91 ID:FG1Pf9COr.net] 秀丸は結構頑張ってるとは思うけど、 C++ソースの強調表示には対応してなかったような。 クソだ
931 名前:デフォルトの名無しさん (ワッチョイ 6742-+Lqe) mailto:sage [2016/08/07(日) 19:44:27.25 ID:bbyjljOW0.net] マクロも頼むわ
932 名前:デフォルトの名無しさん (ワッチョイ bfcd-82/a) mailto:sage [2016/08/07(日) 20:16:02.33 ID:4DNn9i2W0.net] >>912 してるよ
933 名前:デフォルトの名無しさん (オッペケ Sr07-d+5h) mailto:sage [2016/08/07(日) 21:19:16.23 ID:FG1Pf9COr.net] >>912 今最新版インスコしてみたが全然正しく表示されないのは俺だけ? C++14用のファイルも読み込ませた auto a=200; auto b=100ms; auto c=1'000e-059; auto d=LR"(abc def\nefg)"; struct final final {};
934 名前:デフォルトの名無しさん (オッペケ Sr07-d+5h) mailto:sage [2016/08/07(日) 21:19:41.43 ID:FG1Pf9COr.net] 間違えた >>914 だった
935 名前:デフォルトの名無しさん (ワッチョイ ef9f-OAZv) mailto:sage [2016/08/07(日) 21:33:13.04 ID:A9VPt4fN0.net] 正しいC++ソースの強調表示をISOに提案しといて
936 名前:デフォルトの名無しさん (ワッチョイ efa6-giu7) [2016/08/07(日) 22:54:27.59 ID:GpzWvVwt0.net] 桁区切りやR文字列は早くなんとかして欲しいな プログラム打ってて、軽いが継続的なストレスだ
937 名前:デフォルトの名無しさん (オッペケ Sr07-d+5h) mailto:sage [2016/08/07(日) 23:03:42.36 ID:FG1Pf9COr.net] 何にでも応用できそうだな 「たかがコンパイラーのフロントエンドだろ。何が難しいの?」 「たかが会計ソフトだろ。何が難しいの?」 「たかがみずほ銀行の次期インフラ設計・構築だろ。何が難しいの?」
938 名前:デフォルトの名無しさん (ワッチョイ bfcd-82/a) mailto:sage [2016/08/08(月) 00:19:21.07 ID:MYFeFApz0.net] 実際そうだろ ソフトウェアは作った通りにしか、動かないんだから、きちんと作ればいいだけ。 何が難しいの?
939 名前:デフォルトの名無しさん (ワッチョイ bf02-+Lqe) mailto:sage [2016/08/08(月) 00:22:17.57 ID:7driPpZU0.net] きちんと作る事が
940 名前:デフォルトの名無しさん (ワッチョイ bfcd-82/a) mailto:sage [2016/08/08(月) 00:29:45.48 ID:4zMTW4DS0.net] じゃあ、書くのやめろ
941 名前:デフォルトの名無しさん (ワッチョイ 2b75-IMEh) mailto:sage [2016/08/08(月) 00:30:04.57 ID:pofueGcp0.net] コンパイラのバグで作った通りに動かねぇんだよ。
942 名前:デフォルトの名無しさん (ワッチョイ f36c-/ZFP) mailto:sage [2016/08/08(月) 00:38:21.48 ID:Sr1mR0u90.net] OSのドライバのバグで・・・(´・ω・`)
943 名前:デフォルトの名無しさん (ワッチョイ bfcd-82/a) mailto:sage [2016/08/08(月) 01:02:34.45 ID:4zMTW4DS0.net] >>923 コンパイラはソフトウェアではないのか?w
944 名前:デフォルトの名無しさん (アウアウ Sa47-DOZo) mailto:sage [2016/08/08(月) 05:32:47.31 ID:O+GC8kp4a.net] 顧客の無茶な要求をまとめ上げることが難しい ときに要求自体が論理的に矛盾していることさえある
945 名前:デフォルトの名無しさん (ワンミングク MM2f-d+5h) mailto:sage [2016/08/08(月) 08:00:31.64 ID:+PEo0tETM.net] 僕、ブルン定数で新しい法則見つけたよ。 → FDIV BUG発覚
946 名前:デフォルトの名無しさん (ワッチョイ efa6-giu7) [2016/08/08(月) 08:25:43.11 ID:hCZZjSTS0.net] >>926 ほんこれ
947 名前:デフォルトの名無しさん (ブーイモ MM6f-d+5h) mailto:sage [2016/08/08(月) 22:47:41.60 ID:V6H9Gi+uM.net] >>920 能力が高いほどプログラミングする機会が少なくなり 底辺プログラマの指揮取りをしてパフォーマンスを発揮しなければいけなくなるところ。
948 名前:デフォルトの名無しさん (ワッチョイ bf02-+Lqe) mailto:sage [2016/08/08(月) 23:21:09.96 ID:7driPpZU0.net] SIerの常識
949 名前:デフォルトの名無しさん (ワッチョイ f3e7-PVLz) mailto:sage [2016/08/09(火) 05:40:01.21 ID:lg+psraJ0.net] 初見でyukiの2番目とけなかったよぉー。 ネットの必勝法なんか興味ないんじゃ。 素数列挙を真面目にやったのが間違いだったか。。。
950 名前:デフォルトの名無しさん (ワッチョイ 2a8b-GBh+) mailto:sage [2016/08/11(木) 08:07:02.61 ID:/EdBDLFJ0.net] 質問ですが、 Q1. 例外をスローしても呼び出し元で解決できる見込みが無いレベルの事象が コンストラクタ内で生じたときどうするのが普通? プログラム全体の終了を意図するとして、std::terminate()とstd::abort()ではどっちが弊害が少ないんじゃろうか… もしくはより良い別の手段とかあればkwsk Q2. 汎用ライブラリの設計者が従うべき例外スローのガイドラインとかあったらkwsk (std::exception派生クラスのうちで、いつどの例外をスローすべきかとか
951 名前:デフォルトの名無しさん (ワッチョイ 6be7-GBh+) mailto:sage [2016/08/11(木) 08:14:32.72 ID:q7HGPc2n0.net] コンストラクタで例外投げんな。デストラクタ動かん。 どうしても投げたかったら、メモリとかの面倒も見たうえで投げるんだ。 止めたいなら、俺はターミネートするけど、以下もある。 en.cppreference.com/w/cpp/utility/program/quick_exit リソース管理がまともなOSなら上で十分。 2は知らん。基本的にロジックエラー投げることが多いけどなぁ。独学だからなぁ。
952 名前:デフォルトの名無しさん (ワッチョイ 2a8b-GBh+) mailto:sage [2016/08/11(木) 08:19:32.10 ID:/EdBDLFJ0.net] >>933 質問は例外スロー前提ではない(例外をスローしても呼び出し元で解決できる見込みが無いレベルの事象)なのでよろ コンストラクタで例外をスローするときの挙動と基本的な作法は知ってるし、
953 名前:934 (ワッチョイ 2a8b-GBh+) mailto:sage [2016/08/11(木) 08:23:35.28 ID:/EdBDLFJ0.net] 訂正; 誤: 質問は例外スロー前提ではない 正: Q1は必ずしも例外スロー前提ではない レスのために打鍵してくれたことには感謝してるチュ(はあと
954 名前:デフォルトの名無しさん (ワッチョイ 6be7-GBh+) mailto:sage [2016/08/11(木) 08:24:18.19 ID:q7HGPc2n0.net] じゃー識者召喚の儀でも始めるか。 おいでませー。おいでませー。
955 名前:デフォルトの名無しさん (ワッチョイ 66a6-D9eE) [2016/08/11(木) 08:56:56.40 ID:rhLP6Nry0.net] std::terminateは、std::set_terminateでフックをかませるが std::abortは、問答無用で即死という違いがあり、 ユーザー定義のterminateの中で最後に使うのがstd::abort なので通常はterminateを使い、気安くstd::abortを直で使わない
956 名前:デフォルトの名無しさん (ワッチョイ 2a8b-GBh+) mailto:sage [2016/08/11(木) 09:00:42.10 ID:/EdBDLFJ0.net] スマンQ1は質問の仕方がまずかったかもしれん… あるクラスFooのコンストラクタで例外が生じたとき、後始末したがっているブツとしては (1) Fooの基底クラス (2) Fooの初期化済みメンバ (3) Foo::Foo()の呼び出し元、そのさらに呼び出し元… (4) atexit()系の関数で終了ハンドラを登録した実体 (5) set_unexpected()で例外ハンドラを登録した実体 というのが有り得ると思うので(他にまだあったりする?)、 コモンセンスなど有り得ない気がしてきた… (多分汎用ライブラリでは全部手当てすべき(理想)なんだけど、 特に(2)を完璧にやるにはFooの全メンバをstd::unique_ptr<T>化とか、 レアケ
957 名前:ースのためにありえない打鍵量を要求される(現実)ので、 どこまで救って何を切り捨てるのかもFooの設計のうちになりそう? [] [ここ壊れてます]
958 名前:デフォルトの名無しさん (ワッチョイ 557b-D9eE) [2016/08/11(木) 09:05:27.91 ID:mUl9HZgb0.net] >呼び出し元で解決できる見込みが無いレベルの事象 普通に例外投げればいいと思うけど? 例えばオープンしようとしたファイルやデバイスが存在しないとかでエラーになった場合とか 呼び出し側で「解決」はできないけどエラーメッセージやログに残すことはできるだろ。 プログラムの終了なんてアプリの最上位層でやるべきことで下位オブジェクトのコンストラクタで 勝手に終了されたらたまんない
959 名前:デフォルトの名無しさん (ワッチョイ 557b-fheI) [2016/08/11(木) 09:10:34.14 ID:mUl9HZgb0.net] >>938 >ありえない打鍵量 それが嫌で例外安全にするためにはRAIIを徹底する以外にないんだが
960 名前:デフォルトの名無しさん (ワッチョイ 837b-chrB) [2016/08/11(木) 09:15:11.73 ID:3pXMLcoQ0.net] 書こうと思ったら >>939 に書かれてた 投げっぱなしで十分 そもそもなぜ一つのクラスがアプリケーション全体で何かしらの解決が不可能と判断できるのかが解らない。 そのクラスは構築出来なかったらどんなアプリケーションでも即終了すべき超重要オブジェクトなのか?
961 名前:デフォルトの名無しさん (オッペケ Sr8d-3Vwo) mailto:sage [2016/08/11(木) 09:52:33.91 ID:MxNORS6jr.net] >>933 >コンストラクタで例外投げんな これは珍説ですね。 「おいvector、お前コンストラクターで例外投げるなよ」 何かおかしいと思わないのかね >>938 (2)を達成するのは簡単だ。 何もしなくても言語仕様で保証されている
962 名前:デフォルトの名無しさん (オッペケ Sr8d-3Vwo) mailto:sage [2016/08/11(木) 10:28:39.49 ID:MxNORS6jr.net] >>941 >なぜ一つのクラスがアプリケーション全体で何かしらの解決が不可能と判断できるのかが解らない 別に有ってもいいだろう。例えばstd::logic_errorをスローする代わりに終了を選んでもおかしくはない。 「バグが有ってプログラマーの意図通りにコンピューターを制御することが出来ていない」状態では さらにプログラムに従ってエラー処理を行うことは被害を拡大させる恐れがある
963 名前:デフォルトの名無しさん (ワッチョイ 1030-MTuc) mailto:sage [2016/08/11(木) 10:48:27.03 ID:AX8Vy/ox0.net] コンストラクタで例外投げんな、じゃなくて コンストラクタで例外投げるときは気をつけろ、だよね? gotoみたいに、使いこなせれば有用だけど……って言うのとも、ちょっと違う気がする
964 名前:デフォルトの名無しさん (ワッチョイ 837b-chrB) [2016/08/11(木) 11:07:50.42 ID:3pXMLcoQ0.net] >>943 それだったらterminateでもabortでもなくassert の出番だな
965 名前:デフォルトの名無しさん (ワッチョイ 5acb-yY6c) mailto:sage [2016/08/11(木) 11:35:35.85 ID:ZnWKVyt10.net] 元々の質問者の意図をくみ取れば、この場合は 「スタックトレースかなんかログ吐いて終了〜」 でOKでしょ 復帰の見込みのない実行時エラーが発生したら 終了しとけばよい
966 名前:デフォルトの名無しさん (ワッチョイ 6bc9-3Vwo) mailto:sage [2016/08/11(木) 11:51:01.79 ID:tB9x70x90.net] どっちでもいい。 「例外にベストプラクティスなし」 この言葉を覚えておくといい。
967 名前:デフォルトの名無しさん (ワッチョイ 3951-yY6c) mailto:sage [2016/08/11(木) 12:39:03.66 ID:M8sBWG1y0.net] そういう、にっちもさっちもいかなくなった状態というのを上位に伝える手段が確保されて いなかった頃であればしかたなく自分でexit()というのもあったが、それがC++で例外が 使えるようになったからこそ逆に、例外投げておしまいだと思うがなぁ。
968 名前:デフォルトの名無しさん (ワッチョイ 46cc-3Vwo) mailto:sage [2016/08/11(木) 13:09:46.88 ID:C2OfJDXv0.net] コンストラクタで例外投げられると new でポインタ得られなくなるからな メモリリーク起こることも考えられないくらいの馬鹿なんじゃないかと
969 名前:デフォルトの名無しさん (ワッチョイ 557b-fheI) [2016/08/11(木) 13:16:06.73 ID:mUl9HZgb0.net] 本物の馬鹿って自分以外はすべて馬鹿に見えるらしい
970 名前:デフォルトの名無しさん (ワッチョイ 5c33-3Vwo) [2016/08/11(木) 13:21:28.44 ID:V006FGRO0.net] >>949 えっ?!
971 名前:デフォルトの名無しさん (スップ Sda8-3Vwo) mailto:sage [2016/08/11(木) 13:53:28.45 ID:cZ05OWnFd.net] 関係ないけどnew [] の何番目かのコンストラクタで例外が発生したときの挙動を忘れたな。 最近物忘れがひどいんだ。
972 名前:デフォルトの名無しさん (ワッチョイ 5acb-yY6c) mailto:sage [2016/08/11(木) 13:56:09.93 ID:ZnWKVyt10.net] ソフトの性質にもよると思うんよ 世の中には絶対にコケることが許されないプログラムもあるだろうけど 質問者の作っているのは多分違う
973 名前:デフォルトの名無しさん (ワッチョイ 837b-chrB) [2016/08/11(木) 14:08:14.32 ID:3pXMLcoQ0.net] 汎用ライブラリって書いてるだろ。 だからライブラリが勝手に判断しないのが正解
974 名前:デフォルトの名無しさん (ワッチョイ 30cf-yY6c) mailto:sage [2016/08/11(木) 15:20:45.11 ID:NtYTAKcg0.net] >>944 コンストラクタに限らず、例外投げるときに限らず、「RAIIを徹底しろ」のほうが強い。
975 名前:デフォルトの名無しさん (ワッチョイ 612b-xYo4) mailto:sage [2016/08/11(木) 15:55:50.87 ID:Dv16c/hX0.net] 汎用ライブラリなら例外を投げる旨をドキュメンテーションに書いておけば良いだけでは?
976 名前:デフォルトの名無しさん (ワッチョイ 66a6-D9eE) [2016/08/11(木) 17:14:37.14 ID:rhLP6Nry0.net] noexcept(false)
977 名前:デフォルトの名無しさん (ワッチョイ 435f-H7tx) [2016/08/11(木) 17:52:29.34 ID:QANON0MR0.net] >>949 馬鹿
978 名前:デフォルトの名無しさん (ワッチョイ 753c-TB/y) [2016/08/11(木) 18:55:15.56 ID:e/GdTSXc0.net] 例外のスレッド間転送までできる時代。
979 名前:デフォルトの名無しさん (オッペケ Sr8d-3Vwo) mailto:sage [2016/08/11(木) 19:01:09.25 ID:MxNORS6jr.net] むしろエラー処理を確実にするために積極的にコンストラクターで投げるのが真っ当な判断にして標準ライブラリのとった選択。 メモリリークが起きると妄想を続けるのは統合失調症を疑った方がいい
980 名前:デフォルトの名無しさん (ワッチョイ 753c-TB/y) [2016/08/11(木) 19:08:19.39 ID:e/GdTSXc0.net] エラーをメールで通知する装置で特許とるわ。
981 名前:デフォルトの名無しさん (ワッチョイ 6bc9-3Vwo) mailto:sage [2016/08/11(木) 19:13:01.88 ID:tB9x70x90.net] 例外は色々問題があることが分かってきたから、 そろそろ新しいエラー処理機構を開発するときじゃないのかね
982 名前:デフォルトの名無しさん (ワッチョイ 98cb-MTuc) [2016/08/11(木) 19:23:31.10 ID:zAgYLaXI0.net] enum class flag : int { a = 0b00000001, b = 0b00000010, c = 0b00000100, }; template< typename T > struct hoge { using type = std::underlying_type_t<T>; friend hoge operator |( T a, T b ) { type val = static_cast<type>( a); val |= static_cast<type>(b); return hoge{ val }; } type val; }; hoge<flag> a = flag::a | flag::b; のようにしたいのですが operator | はどう書けばいいでしょうか
983 名前:デフォルトの名無しさん (ワッチョイ 30cf-yY6c) mailto:sage [2016/08/11(木) 19:26:28.13 ID:NtYTAKcg0.net] >>962 どんな問題があるって?
984 名前:デフォルトの名無しさん (ワッチョイ 463c-3Vwo) mailto:sage [2016/08/11(木) 20:03:02.69 ID:gnwNFYm10.net] >>964 >>962 みたいなバカには使いこなせない
985 名前:デフォルトの名無しさん (ワッチョイ 6bc9-3Vwo) mailto:sage [2016/08/11(木) 20:06:46.61 ID:tB9x70x90.net] Mortrayによると、 ・オーバーヘッド ・リソースリークのリスク (RAIIやデストラクタでは投げないなど各種プラクティス など対応策はあるが、それに頼らなければならない点も問題) ・構文(インデントが増える、変数宣言の場所も合わせないといけない点など) ・言語依存 (言語によって実装が異なるため、異なる言語のライブラリを 組み合わせる際に問題になる) ・保守性 などなどが問題点として挙げられている。 無論、旧来のエラーコードなどによる処理も問題はあるので、 それと比べてという意味ではない。 実際、Googleのコーディング規約では(少なくともC++の)例外は使うな、 となっているね。
986 名前:デフォルトの名無しさん (ワッチョイ 5273-mfOa) mailto:sage [2016/08/11(木) 20:39:00.81 ID:QQ8c/kYm0.net] 例外処理の問題点ってC++の仕様が原因だと思う バカが使うと例外処理で致命的な矛盾不具合を無意識に埋め込める C++は言語仕様が大きくてフリーダム過ぎる
987 名前:デフォルトの名無しさん (ワッチョイ 612b-xYo4) mailto:sage [2016/08/11(木) 21:15:35.11 ID:Dv16c/hX0.net] C++は結局高級アセンブリ言語だからプログラマが馬鹿なことするのは止められない 逆に言えば自由を奪わないとも言えるか
988 名前:デフォルトの名無しさん (ワッチョイ 66a6-D9eE) [2016/08/11(木) 22:43:17.08 ID:rhLP6Nry0.net] C++例外の問題点はインタープリタ的な実装を強いるところ catch(...)に入っちまった例外の型と値なんかいらねーし rethrow_with_nestedみたいな中途半端なもんなくても dynamic_castくらいてめーでやるから resume nextがなくてそれに近いことやるためにtry{try{try{とかいい加減にしろ
989 名前:デフォルトの名無しさん (ワッチョイ 7017-3Vwo) mailto:sage [2016/08/12(金) 00:25:55.02 ID:IZw9DRlO0.net] 例外でなんでも投げられるのと、標準の例外の使い方がおかしいのが問題 logic_errorとruntime_errorを分けている癖に、標準ライブラリで投げる例外の種類が実態とあっていないとか。
990 名前:デフォルトの名無しさん (オッペケ Sr8d-3Vwo) mailto:sage [2016/08/12(金) 01:17:31.88 ID:JT6YyFbyr.net] >>963 よくわからんがこんな感じではないだろうか ideone.com/JU1Zex
991 名前:デフォルトの名無しさん (ワッチョイ 397b-uvTe) mailto:sage [2016/08/12(金) 22:06:18.91 ID:m6KtgNpq0.net] メモリ管理しなきゃならんのにさらに例外みたいに処理をすっ飛ばすような仕組みを 入れるのは無謀以外のなにものでもない。 例外使うんならガベージコレクションじゃなきゃ辛い。
992 名前:デフォルトの名無しさん (ワッチョイ fc77-3Vwo) mailto:sage [2016/08/13(土) 00:42:46.13 ID:BLnFqe260.net] 開放してから再スローすればいいだろ… 他人のことまで面倒見ようとするから混乱するんだ。
993 名前:デフォルトの名無しさん (ワッチョイ 837b-chrB) [2016/08/13(土) 00:54:44.01 ID:3fEaw1ts0.net] RAIIって知ってる?
994 名前:デフォルトの名無しさん (アウアウ Sa05-sQ3b) mailto:sage [2016/08/13(土) 05:42:02.48 ID:1v6z5VPia.net] C++って大いなる『途中』なんだよ。ナウシカの巨神兵をどうにかこうにか早過ぎるまま使いこなそうと無理してる感じの言語
995 名前:デフォルトの名無しさん (ワッチョイ 6be7-GBh+) mailto:sage [2016/08/13(土) 05:44:50.99 ID:amV5ThBe0.net] 今度タプルが言語化するかもなぁ。なかなか楽しみ。
996 名前:デフォルトの名無しさん (ワッチョイ 397b-uvTe) mailto:sage [2016/08/13(土) 08:49:37.69 ID:BR3iMMds0.net] >>974 そういうふうに作るのが難しいって話だろうに。
997 名前:デフォルトの名無しさん (ワッチョイ 7017-3Vwo) mailto:sage [2016/08/13(土) 10:02:38.31 ID:USGGWD2R0.net] 今時そんなに難しくないよね。
998 名前:デフォルトの名無しさん (ワッチョイ 837b-chrB) [2016/08/13(土) 10:27:20.43 ID:3fEaw1ts0.net] RAIIが難しいって… 大体gcのある言語でもfinallyとかusingとかtry-with-resouceとか使わないとだめだろ gcが例外の何の助けになるんだ
999 名前:デフォルトの名無しさん (JP 0H41-dS8u) mailto:sage [2016/08/13(土) 10:30:25.03 ID:gPtVaJGMH.net] raii は対象リソース1個とか寿命がクロスにならない場合は楽ちんだけど
1000 名前:デフォルトの名無しさん (ワッチョイ 30cf-yY6c) mailto:sage [2016/08/13(土) 11:08:45.48 ID:teR/IlhU0.net] >>980 複数でもクロスでも変わらんと思うんだが、何が言いたいのかな?
1001 名前:デフォルトの名無しさん (ワッチョイ 6be7-GBh+) mailto:sage [2016/08/13(土) 11:10:13.32 ID:amV5ThBe0.net] 次スレってあるの?
1002 名前:デフォルトの名無しさん (ワッチョイ 6be7-GBh+) mailto:sage [2016/08/13(土) 11:15:10.50 ID:amV5ThBe0.net] RAIIやるときは、やばそうなリソースは単体でラップしてからクラスに持たせるかなぁ。 基本的に意識しないでもいいように書くけど。
1003 名前:デフォルトの名無しさん (ワッチョイ 6642-MTuc) mailto:sage [2016/08/13(土) 11:19:10.00 ID:NPYsKJkE0.net] まだ立ててない様なので立ててみます
1004 名前:デフォルトの名無しさん (ワッチョイ 6642-MTuc) mailto:sage [2016/08/13(土) 11:27:12.78 ID:NPYsKJkE0.net] 次スレです echo.2ch.net/test/read.cgi/tech/1471055085/ ワッチョイ付け損ねました。すんません。(←アホです)
1005 名前:デフォルトの名無しさん (ワッチョイ 463c-3Vwo) mailto:sage [2016/08/13(土) 11:38:45.52 ID:pozD573T0.net] >>980 それって単にお前の限界ってことだろ
1006 名前:デフォルトの名無しさん (ワッチョイ 557b-fheI) [2016/08/13(土) 12:50:35.53 ID:sDKArTxu0.net] RAIIの徹底が困難と感じる人はC++なんて触らないほうがいいよ
1007 名前:デフォルトの名無しさん (ワッチョイ 397b-uvTe) mailto:sage [2016/08/13(土) 16:34:41.50 ID:BR3iMMds0.net] そんなんやるなら別に関数毎に戻り値チェックするのでも苦労は変わらんだろう。
1008 名前: そんな苦労してまであえて例外投げる作りにする意味が感じられん。 [] [ここ壊れてます]
1009 名前:デフォルトの名無しさん (ワッチョイ 463c-3Vwo) mailto:sage [2016/08/13(土) 16:43:02.82 ID:pozD573T0.net] >>988 > 関数毎に戻り値チェックする 例外を全く理解してないのがよくわかる
1010 名前:デフォルトの名無しさん (ワッチョイ 9213-4ddV) mailto:sage [2016/08/13(土) 16:43:44.80 ID:qrOP+l160.net] >>988 戻り値チェックは何もしないと握りつぶされる 例外は放っておくと最上階まで流れてそこで全体がストップ
1011 名前:デフォルトの名無しさん (ワッチョイ 837b-chrB) [2016/08/13(土) 16:57:39.34 ID:3fEaw1ts0.net] RAIIが苦労ってどこが?って話なんだけど。 毎回finallyにclose書くほうが100倍めんどくせえし、C#のIDisposableのようなものを使うならデストラクタ書くのも変わらん C言語のライブラリ使っててそれらの解放面倒って言ってるならJavaとかC#でそれらを使うほうが面倒だし、C++のライブラリだけどRAIIが徹底されてないならそんな糞ライブラリを使うと判断した奴の責任
1012 名前:デフォルトの名無しさん (ワッチョイ 4bb5-3Vwo) mailto:sage [2016/08/13(土) 17:39:26.38 ID:b+WQY3Kz0.net] C#とJavaは使う側に書き方の作法を要求するが C++はRAIIさえしときゃ使う側がスッキリ
1013 名前:デフォルトの名無しさん (ワッチョイ 463c-3Vwo) mailto:sage [2016/08/13(土) 17:50:51.29 ID:pozD573T0.net] >>991 > C#のIDisposable これはこれでいいんだけどいかんせん後付けの仕組みだから色々徹底されてないのが残念
1014 名前:デフォルトの名無しさん (アウアウ Sa05-sQ3b) mailto:sage [2016/08/13(土) 18:08:11.73 ID:oqaMTJB0a.net] RAIIってなんて発音するの? ライー? RAII使いはライヤー?
1015 名前:デフォルトの名無しさん (ワッチョイ 5c33-3Vwo) [2016/08/13(土) 18:10:27.04 ID:hshtSriw0.net] 発音間違えたら嘘つきになりそうだな…
1016 名前:デフォルトの名無しさん (ワッチョイ 66a6-D9eE) [2016/08/13(土) 20:40:02.78 ID:RXynYxKm0.net] liar!
1017 名前:デフォルトの名無しさん (ガラプー KK41-1kXm) mailto:sage [2016/08/13(土) 21:06:07.63 ID:vXCHTXVpK.net] 梅
1018 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 19a8-MTuc) mailto:sage [2016/08/13(土) 22:06:05.21 ID:zk6Wqji80.net] >>998 なら長門は俺の嫁
1019 名前:デフォルトの名無しさん (ワッチョイ 2a02-MTuc) mailto:sage [2016/08/14(日) 00:02:50.19 ID:1FuetgAk0.net] あーるえーあいあい
1020 名前:デフォルトの名無しさん (ワッチョイ 5c33-3Vwo) [2016/08/14(日) 00:35:43.83 ID:a16BwEk80.net] らららライッ!!!
1021 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています