[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 03/10 14:52 / Filesize : 245 KB / Number-of Response : 1022
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part125



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 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<245KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef