トップページ⇒tech
1002コメント305KB

C++相談室 part125 [無断転載禁止]©5ch.io

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 7b5b-xKv1)2016/05/21(土) 01:21:01.51ID:HBQ7d37R0
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレに
お願いします。

前スレ
C++相談室 part124
http://echo.2ch.net/test/read.cgi/tech/1459610544/

このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.97【環境依存OK】
http://peace.2ch.net/test/read.cgi/tech/1439849418/

■長いソースを貼るときはここへ。■
 http://codepad.org/
 http://ideone.com/

[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
0002デフォルトの名無しさん (ワッチョイ 7b5b-xKv1)2016/05/21(土) 01:21:51.01ID:HBQ7d37R0
STLつかうと一気に実行ファイルサイズが10倍に?!

環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない

すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。

C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?

#include <stdafx.h>
後死ね。

言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。

---- テンプレ ここまで ----
0003デフォルトの名無しさん (フォンフォン FF7c-9i5Z)2016/05/21(土) 11:09:02.64ID:pd6ZdHYkF
日本マイクロソフト人事本部シニアマネージャー(名ばかり管理職)の西川昌邦(さいかわまさくに)は犯罪者にして殺人犯だ!!
「あなたのような従業員は会社のパフォーマンスにとってマイナスなので早く死んでください」
などと自殺教唆を公然と行った!! その結果人が死んだ!!
丁寧に言えば何を言ってもいいというものではない!!これはヤクザや借金取りが脅迫をする時に
「いついつまでに金一億円をお振り込みください。命が惜しければ間違った判断をなされないことを期待します」
と発言するのと同じレベルだ!!
しかもそれを注意してやったら、「世間はわれわれの味方だ。文句があるなら訴えてきたらよろしい。メールを電番を公開したければ
どうぞご自由に。世論はわれわれを賛辞するするメールを送付するだろう」
などとイカ様気取りも大概にしろという発言を行った!!
抗議先 日本マイクロソフト人事本部 西川昌邦
メール:masaikaw●microsoft.com
(●を@に置き換えて)
電話:09025411718
0004デフォルトの名無しさん (ワッチョイ a759-MTTD)2016/05/21(土) 14:12:20.59ID:af3CQIfx0
>>1乙
0005デフォルトの名無しさん (ワッチョイ d379-xKv1)2016/05/21(土) 14:28:18.44ID:KTXVvqTh0
http://ideone.com/34cyYG

このコードをMS C++ Expressでデバッグなしで実行しようとすると
エラーが出ます

しかしこのサイトでは実行できています

なぜですか?
0006デフォルトの名無しさん (ワッチョイ 3e02-MTTD)2016/05/21(土) 14:31:04.40ID:lmvB7ZQU0
>>5
どんなエラーがいつでるの?
0007デフォルトの名無しさん (ワッチョイ d379-xKv1)2016/05/21(土) 14:32:44.82ID:KTXVvqTh0
上のサイトではしっかり実行できてるのに
ソフトでは

構文エラー : ',' が ':' の前にありません。
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: 構文エラー : ';' が '{' の前にありません。

など無数のエラーが出て実行できない
0008デフォルトの名無しさん (ワッチョイ bd6c-WkY+)2016/05/21(土) 14:37:08.53ID:nQ1EVjn10
VS2008でautoサポートしてない?
0009デフォルトの名無しさん (ワッチョイ 7bf8-xFql)2016/05/21(土) 14:37:32.23ID:4qmWB+Wj0
>>7
Visual Studioだからしょうがない。
0010デフォルトの名無しさん (ワッチョイ e6cc-MTTD)2016/05/21(土) 14:38:08.52ID:7wY/KmeB0
autoとfor(:)が使えるのはC++11から
VS2008では無理
0011デフォルトの名無しさん (ワッチョイ 3e02-MTTD)2016/05/21(土) 14:39:28.27ID:lmvB7ZQU0
>>7
エラーメッセージからすると、使っているのはVisual Studio 2008だよね
コンパイラが古いからそのコードで使われている新しいC++の構文をコンパイルできてない

Visual Studio 2015の無償版があるからそれいれなさい
0012デフォルトの名無しさん (ワッチョイ d379-xKv1)2016/05/21(土) 14:39:57.58ID:KTXVvqTh0
じゃあC++11をインスコすれば実行できるんですか?
0013デフォルトの名無しさん (ワッチョイ e6cc-MTTD)2016/05/21(土) 14:41:05.38ID:7wY/KmeB0
VS2013以降で利用可能
0014デフォルトの名無しさん (ワッチョイ d379-xKv1)2016/05/21(土) 14:46:31.23ID:KTXVvqTh0
2015はどこからDLできますか
複雑すぎてわかりません
0015デフォルトの名無しさん (ワッチョイ d379-xKv1)2016/05/21(土) 14:52:36.57ID:KTXVvqTh0
なんかそれっぽいのをクリックしたら8GBもかかるって
出るんですが本当ですか
0016デフォルトの名無しさん (ワッチョイ bd6c-WkY+)2016/05/21(土) 14:55:57.63ID:nQ1EVjn10
おにいさんスレタイよめまちゅか〜?
0017デフォルトの名無しさん (ワッチョイ 7182-/fHo)2016/05/21(土) 16:44:04.55ID:PQEpqFyd0
>>14
https://gist.github.com/CHEF-KOCH/8078b39e1aad71ef6c317a3c0edb6ec9
0018デフォルトの名無しさん (スプー Sd28-HoE0)2016/05/23(月) 09:14:59.05ID:+2REWar9d
template< typename T > struct hoge
{
int a;
T val;
};
hoge< std::string > h;
bool b = (void*)&h == (void*)&h.a;
bは常に真になりますか?
0019デフォルトの名無しさん (ワッチョイ d0a8-xKv1)2016/05/23(月) 09:33:27.33ID:EVT+OYCD0
なる。
構造体を指すポインタと構造体の最初の要素のポインタは互換性があることは保証される。
0020デフォルトの名無しさん (ワッチョイ b0cf-G0cz)2016/05/23(月) 10:49:07.22ID:CGtGrh0g0
>>18-19
それが言えるのは standard layout class の場合だけ。 std::string 入れちゃうと保証がなくなる。
0021デフォルトの名無しさん (ワッチョイ 9102-xKv1)2016/05/23(月) 12:14:44.09ID:DhkHIJPM0
何故
0022デフォルトの名無しさん (アウアウ Sab5-MTTD)2016/05/23(月) 12:48:08.66ID:L1e0GZEGa
これだな

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 ]
0023デフォルトの名無しさん (ワッチョイ 653c-MTTD)2016/05/23(月) 17:56:00.02ID:3i62jH+e0
>>22
段落ずれてるぞ

前スレ>>769で同じことを書いたような
0024デフォルトの名無しさん (ブーイモ MM31-MTTD)2016/05/24(火) 20:41:37.54ID:MrSZwiU0M
printfの%gに相当する書式はiostreamにはないんですか?
fixedとscientificがあるから当然generalもあるかと思ったらなくて驚きました
0025デフォルトの名無しさん (ワッチョイ e6cc-MTTD)2016/05/24(火) 22:28:01.07ID:+m15y26g0
無いよ
だから流行らないんだけどね
0026デフォルトの名無しさん (ワッチョイ 1c6a-/fHo)2016/05/25(水) 08:34:01.24ID:58nfhpHt0
ないなら作れ、これができるのがiostreamのcstdioより優れているところだ
0027デフォルトの名無しさん (ササクッテロ Spbd-7Gsa)2016/05/25(水) 15:24:00.21ID:VtVzbof+p
utf-8の.txtをifstreamで読み取る方法教えてください
普通にやったら何か文字化けします
0028デフォルトの名無しさん (ワッチョイ 917b-P/BW)2016/05/25(水) 16:09:33.63ID:gyPde1un0
>>27
Windowsか?バイナリーモードで開け
0029デフォルトの名無しさん (ササクッテロ Spbd-7Gsa)2016/05/25(水) 16:14:17.78ID:VtVzbof+p
>>28
ありがとうございます。
ifstream ifs;
ifs.open(”hoge.txt”, ios::binary);
string str;
getline(ifs,str);
cout << str << endl;

でやってみましたが出来ませんでした…文字化けします
0030デフォルトの名無しさん (ワッチョイ 7bf8-xFql)2016/05/25(水) 16:17:16.51ID:8+OpaV010
WindowsのcoutのエンコーディングってUCS2か何かじゃ無かったっけ。
文字コードに互換性が無ければ文字化けする。
0031デフォルトの名無しさん (ワッチョイ bd6c-dqc0)2016/05/25(水) 16:18:50.61ID:ORzsgYAm0
クラスCから次の意味で生成されるクラスDがあります
class D{
C& _c;
public:
D(C& c):_c(c){}
...
}
この時、const Cクラスから単純には生成できません
一般的にはDはCを非constで受け取る必要がありますが
const Dクラスを作る場合Cはconstで受け取る設計にしてOKなのですが
そうしたい場合どう改造するのがスマートですかね?
0032デフォルトの名無しさん (ワッチョイ 917b-P/BW)2016/05/25(水) 16:35:13.19ID:gyPde1un0
>>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を使う

どっちかで
0033デフォルトの名無しさん (スプー Sd78-MTTD)2016/05/25(水) 17:28:10.96ID:d1rEd2y1d
>>31
日本語がふわふわしてて、なにがしたいのかよくわからん

C c;
D d(c);
と
const C c;
const D d(c);

の2パターンに対応したいってこと?
0034デフォルトの名無しさん (ワッチョイ 7bf8-xFql)2016/05/25(水) 17:28:40.96ID:8+OpaV010
>>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); }

後なんかあったっけ?
0035デフォルトの名無しさん (ワッチョイ bd6c-WkY+)2016/05/25(水) 17:43:13.47ID:ORzsgYAm0
>>33
そういうことです

>>34
ありがとうございます、参考にします
0036デフォルトの名無しさん (スプー Sd28-MTTD)2016/05/25(水) 18:32:28.15ID:jhIxp3LFd
>>31
std::refとstd::crefが違う型を返すことを考えると、
それってあんまり良くないんじゃないかな?
0037デフォルトの名無しさん (ワッチョイ bd7b-MTTD)2016/05/25(水) 19:59:35.92ID:XGCAXKlf0
iteratorと同様にconstと非constで型を分けるのが真っ当なやり方じゃね?
0038デフォルトの名無しさん (ワッチョイ 9b79-kHkB)2016/05/27(金) 22:07:18.88ID:3bwC+MKv0
http://ideone.com/34cyYG

これをパソコンで実行できたんですが、コマンドラインに
出た結果をコピペできません、どうすればいいですか

あと、この解の個数を表示するためにどんなコードを
付け加えればいいか教えてください
0039デフォルトの名無しさん (ワッチョイ 9b79-kHkB)2016/05/27(金) 22:10:51.41ID:3bwC+MKv0
あとこのコードだとnが14以上の時にほとんど解が求まりません
しかし解の最大値と最初値は分かっているのでその範囲内で
探索するようにすれば解は出ると思います

そういう観点からコードを組み直してくれませんか
0040デフォルトの名無しさん (ワッチョイ 9b79-kHkB)2016/05/27(金) 22:14:03.63ID:3bwC+MKv0
あ、コピペはライン上でできたんでいいです

解の個数以下をお願いします
0041デフォルトの名無しさん (ワッチョイ 9b79-kHkB)2016/05/27(金) 22:20:15.37ID:3bwC+MKv0
あれ、今度はctrl+Cでコピーできなくなった
どういうことですか
0042デフォルトの名無しさん (ワントンキン MMff-khAS)2016/05/27(金) 23:06:21.15ID:Hna0N9WzM
なにいってだ
0043デフォルトの名無しさん (ワッチョイ e302-kHkB)2016/05/28(土) 02:31:19.15ID:YovP5ot70
分かりません
0044デフォルトの名無しさん (ワッチョイ 9b8c-SNRC)2016/05/28(土) 12:07:56.86ID:jJTRpnQ60
winは初めてか?
範囲選択してenter
0045デフォルトの名無しさん (ワッチョイ 9b79-kHkB)2016/05/28(土) 19:03:14.41ID:7/JD/idn0
>>39に答えてほしいんですが
0046デフォルトの名無しさん (ワッチョイ 9b8c-SNRC)2016/05/28(土) 19:36:31.48ID:jJTRpnQ60
範囲選択してenterでコピー出来るぞ
0047デフォルトの名無しさん (ワッチョイ b37b-khAS)2016/05/28(土) 20:36:27.79ID:Y4q1bHMO0
一行目をみて一気にやる気が失せた。
0048デフォルトの名無しさん (ワッチョイ e3c9-khAS)2016/05/28(土) 20:37:33.41ID:Vy3PTpdZ0
>>39
回答を列挙する必要がなく、答えの個数だけ求めるのなら、メモ化再帰すればいいのではないかと思う。
何個まで使ったか(iの値)、最後に使ったaiの値、これまでのajの合計を状態として、漸化式をたてる。これまでのajの合計を実数で保持すると誤差死するから、2^nして、整数にすると良い。
外してたらゴメン。
リンク先のコードに、片山さんの名前があるから、ご指名で、質問したらいいのでは?
0049片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK7f-Ueuo)2016/05/28(土) 20:49:50.74ID:BPoJKFOKK
>>38
右クリックして範囲選択。
cout << solutions.size() << endl;
0050デフォルトの名無しさん (ワッチョイ 9b79-kHkB)2016/05/28(土) 21:55:21.37ID:7/JD/idn0
>>49
救世主キターーーーーーーーーーーーーー

っていうかこのコードだとn=15くらいで計算不能になるのですが
計算可能なコードって書けないんですか?

1〜14の範囲内にあるってことが分かっているのでコンピュータ
に計算させるのが難しいはずがないんですが
0051片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK7f-Ueuo)2016/05/28(土) 22:50:05.11ID:BPoJKFOKK
>>50
多倍長計算
0052デフォルトの名無しさん (ワッチョイ 8763-khAS)2016/05/29(日) 07:19:12.33ID:5/hKFy9c0
↑会話の出来ないアスペ
0053デフォルトの名無しさん (アウアウ Sae5-ChPp)2016/06/02(木) 17:00:19.16ID:+AO86RlVa
cとc++って別の言語だってよく言われるんだけど
ネットでc++のソースみるとcの関数が使われてる。
scanfとかprintfとかはc++ではcin、coutにしろって
本にかいてるけど、scanfやらfgets使ってる人多数。

c++=c言語にあった関数+c言語になかった追加関数+オブジェクト指向;

ってことなの?
だからcの関数だってなんだっていいから気にせず使えよってこと?
0054デフォルトの名無しさん (スプー Sdb8-ud2d)2016/06/02(木) 17:10:23.74ID:2/ji+i8+d
cにあった関数が名前とシグネチャと機能はそのままにc++の関数として提供されている。だから正確にはcの関数ではない。

であってる?
0055デフォルトの名無しさん (ワッチョイ fe9f-py2h)2016/06/02(木) 17:13:14.69ID:S/TzBOdj0
>>53
scanfとかprintfとかはC言語の標準ライブラリの関数だが
良く使われる言語にはC言語で出来たライブラリをバインディングする機能がある
その中でもC++はC言語のライブラリのバインディングが簡単という特徴がある

C言語から着た人は便利だからprintfとかを使ってしまうっということだろう
それらを使かどうかは自由だ
0056デフォルトの名無しさん (ワッチョイ eddc-AjkE)2016/06/02(木) 17:21:54.58ID:Xtmzf8ox0
初心者に読ませる入門レベルでは
型を意識しなくてよいストリームI/O(coutとか)より
型を意識しないといけない入出力関数(printfとか)の方が
説明の流れがスムースになるって理由もあるんじゃないかな。

「CやC++は強く型付けされたプログラム言語」という基本部分。


ストリームが気色悪いと思ってる人が多いだけかもしれないけど。
0057デフォルトの名無しさん (アウアウ Sae5-ChPp)2016/06/02(木) 18:03:57.39ID:+AO86RlVa
ということは、c++で使えるcの関数はc++のものだと考えて
じゃんじゃん使っていいってこと?

いや、なぜこんなこときくのかというと、
fire,15 cold,29 thunder,47
みたいな入力を取得しようとするとき、
人によって、cinとかscanf、fgetsさらに
strtok、sstream、やら方法が一貫してなくて
何が最適なのかわかんなかったんだ。

PHPだと入力はfgetsでtrimしかないからすごくよくわかる
ゲームのマリオみたいにジャンプするならAボタン!
みたいな方法はc++では確立されてないの?
0058デフォルトの名無しさん (ワッチョイ 3f7b-pivs)2016/06/02(木) 18:22:47.09ID:yckiqRm+0
うん。C++はC標準ライブラリを取り込んでいるんだから(C++14 17.2)
じゃんじゃん使ってOK
C++の標準ストリームライブラリはフォーマッティング機能が乏しすぎて
サンプルプログラムを作る分にはまだいいかも知れんが(?)
実業務じゃ使いものにならないケースが多い
0059デフォルトの名無しさん (オッペケ Sr89-ud2d)2016/06/02(木) 18:24:08.96ID:it0ZbBasr
>>55
>scanfとかprintfとかはC言語の標準ライブラリの関数だが
>良く使われる言語にはC言語で出来たライブラリをバインディングする機能がある

Cのライブラリ関数をC++から呼び出す奴は居るし
C標準ライブラリで提供される機能のC++版関数を呼び出すことはよくあるが、
C標準ライブラリの関数をC++から呼び出す奴はかなり変人だ。
素人に変なことを吹き込むな
0060デフォルトの名無しさん (ワッチョイ 9f73-Q64q)2016/06/02(木) 18:25:46.66ID:C+JTDnqc0
基本cでc++の便利機能の利用お勧め
cが便利なアセンブラだから当然言語仕様上の穴がある
c++も同じ様なものなので同じような穴がある
他に関数に渡すパラメーターの並べかたやポインター渡し推奨な場合とか色々
出来の良いライブラリ読んでどの様な作法か勉強するしかない
オレ様流流儀が容易に表現できるけど自分でやった無作法に自分で苦しむのも容易
0061デフォルトの名無しさん (スプー Sdb8-ud2d)2016/06/02(木) 18:45:01.81ID:2/ji+i8+d
実業務で標準入出力なんて使うの?
0062デフォルトの名無しさん (アウアウ Sae5-ChPp)2016/06/02(木) 19:03:56.48ID:+AO86RlVa
なんかc++の位置づけがわかってきた。
カレーに例えると

cはカレースパイスのみ、ほか食材は作るか調達。

c++は市販のカレー粉とほかの食材。
別にスパイスを使いたかったら使ってもいいけど、
市販のカレー粉使えばいいよ。食材もある程度用意してる。
なければ調達しな。

c#、JAVA、PHP、他スクリプト系は、レトルトカレー。

こんな認識でいい?
まとめると、c++は生の食材を料理するから
腕次第によってまずくも、うまくもなる。
だって、いろいろな道具が用意されてるから。
0063デフォルトの名無しさん (ワッチョイ 3f7b-pivs)2016/06/02(木) 19:25:29.55ID:yckiqRm+0
その手の例えはどうしたって的外れになるから止めておけ。
0064デフォルトの名無しさん (ドコグロ MMf4-ud2d)2016/06/02(木) 19:41:34.04ID:SGqeHS7dM
>>61
実業務って何を指すかによるけど
会社で使うソフトと言う意味なら頻度は少ないけど使ったことはある
0065デフォルトの名無しさん (ワッチョイ 8063-ud2d)2016/06/02(木) 19:46:51.57ID:icPOSwlV0
>>54
CのctanはC++に無いし、strchrやprintfのシグネチャーは同一ではないぞ

>cの関数ではない
ここはあってる
0066デフォルトの名無しさん (スプー Sdb8-ud2d)2016/06/02(木) 20:17:42.44ID:2/ji+i8+d
>>65
あり
0067デフォルトの名無しさん (オッペケ Sr89-ud2d)2016/06/02(木) 22:17:44.11ID:n9ndp25+r
>>62
お前はウン粉でも食ってろ

>>56
>説明の流れがスムース
お前は昭和からタイムスリップしてきたのかよ
0068デフォルトの名無しさん (ワッチョイ 9d02-ChPp)2016/06/02(木) 22:26:52.45ID:W/e1Hdca0
昭和の言語じゃん
0069デフォルトの名無しさん (ワッチョイ 8063-ud2d)2016/06/02(木) 23:02:00.98ID:icPOSwlV0
CもISO標準化前の時代を含めると昭和だな
文法がキモかったらしいがよく知らない
0070デフォルトの名無しさん (ワッチョイ df42-ChPp)2016/06/02(木) 23:38:27.77ID:P58iKYFf0
昭和の言語って世界に通じる表現なの?
0071デフォルトの名無しさん (ワッチョイ 9d02-ChPp)2016/06/03(金) 00:32:09.44ID:5+yG3bCV0
昭和は日本人しか知らないでしょ
0072デフォルトの名無しさん (ワッチョイ eddc-AjkE)2016/06/03(金) 05:45:31.06ID:o7VJVlqj0
>>67
「説明の流れがスムース」ってレトロ調か。
じゃぁナウい平成の表現ではどうすべきか教えて丁髷。
0073デフォルトの名無しさん (ワッチョイ 96c0-D9Ox)2016/06/03(金) 06:54:26.65ID:+0Di2rYP0
反論してる言葉が昭和で草
0074デフォルトの名無しさん (オッペケ Sr89-ud2d)2016/06/03(金) 08:17:51.99ID:DSoZZ+3or
>>72
スムーズしかないだろ
メロスはプッツンした並の言語センスだな
007572 (ワッチョイ eddc-AjkE)2016/06/03(金) 12:29:34.36ID:o7VJVlqj0
おお "smooth" の th は有声音で、全体で「スムーズ」に近い発音か。
語尾の th は一般に濁らないものだと思ってたよ。
序数標識の th から類推してね。他にはプログラム言語のFORTHとか。

しかも昔は日本語で「スムース」の表記があったのか。
「昭和の書き方」と言われるのもむべなるかな。
いや、かたじけない。
0076デフォルトの名無しさん (ワッチョイ 59ec-dUIB)2016/06/03(金) 23:07:58.44ID:VvFq8Qy/0
http://ja.forvo.com/word/smooth
0077デフォルトの名無しさん (ガックシ 069c-4qA/)2016/06/07(火) 12:23:27.58ID:7urPq1456
時代がさらに戻ってて草
0078デフォルトの名無しさん (ワッチョイ 9d02-ChPp)2016/06/07(火) 19:06:56.90ID:qUlfbL0p0
いまだにラムダ式をそらで書けないんだがどう覚えたらいい?
0079デフォルトの名無しさん (ガラプー KK6d-pkX1)2016/06/07(火) 19:13:41.47ID:AqghaPJwK
>>78
カンニングペーパーでも作ってろ
0080デフォルトの名無しさん (ワッチョイ b2a8-ChPp)2016/06/07(火) 19:47:47.36ID:PW1KNSvD0
堪忍してつかぁさい
0081デフォルトの名無しさん (ワッチョイ 8063-ud2d)2016/06/07(火) 21:02:55.00ID:25tonARw0
見ればすぐわかるものを覚える必要はない
0082デフォルトの名無しさん (スプー Sdb8-ud2d)2016/06/08(水) 09:07:52.86ID:cIBTG1hgd
std::sortの比較関数をラムダ式で書いてるプログラム見るけど、あれ何で引数部分に要素が渡されるのか、いまいち理解してない
0083デフォルトの名無しさん (ワンミングク MM40-ud2d)2016/06/08(水) 09:14:34.66ID:aBxmQ6GCM
sortの中でcompareに渡すとき参照を剥がすように実装してるから以外の答えはありうるのか…?
0084デフォルトの名無しさん (スプー Sdb8-ud2d)2016/06/08(水) 11:07:13.50ID:T7O01KYMd
>>82→83 の流れが理解できない
0085デフォルトの名無しさん (ワッチョイ fe9f-py2h)2016/06/08(水) 11:37:47.11ID:2gdEHtFT0
引数部分をラムダ関数自体と解釈するか
比較関数に対する引数と解釈するかで食い違ってるからな
0086デフォルトの名無しさん (スプー Sdb8-ud2d)2016/06/08(水) 11:56:16.88ID:T7O01KYMd
>>85
>比較関数に対する引数と解釈するか
それってなんすか?
0087デフォルトの名無しさん (ブーイモ MMb8-ud2d)2016/06/08(水) 13:10:05.76ID:IzbVLKR1M
>>84
そもそも>>82は何が不明なのか理解できたのなら教えてくれ
0088デフォルトの名無しさん (スプー Sdb8-ud2d)2016/06/08(水) 14:10:25.42ID:T7O01KYMd
>>87
いや俺は>>82と>>83と>>85が何を言っているのか全くわからない
0089デフォルトの名無しさん (スプー Sdb8-ud2d)2016/06/08(水) 14:26:38.03ID:cIBTG1hgd
例えば、std::vector<int>型の配列a[0]〜a
[10]までの各要素に、それぞれ1〜10が代入されていたとき、
std::sort(a.begin(), a.end(), [](int& a1, int& a2) { return a1 > a2; });
を実行すると降順にソートされる。
このとき、a1とa2に配列内の数値が渡っている理由がよくわからない、という意味です。
初歩的な質問ですがお願いします。
0090デフォルトの名無しさん (スプー Sdc8-ud2d)2016/06/08(水) 14:33:06.87ID:3qc7Gxwcd
なんだよ理由がわからないって
0091デフォルトの名無しさん (ガラプー KK5f-pkX1)2016/06/08(水) 14:38:00.60ID:NAh8v38DK
>>89
テンプレート関数std::sortが呼ぶから。
0092デフォルトの名無しさん (ワッチョイ fc7b-pivs)2016/06/08(水) 14:40:22.22ID:lMpdbKpY0
>>89
std::sortがそういう風に実装されているからだよ
ところで
>配列a[0]〜a[10]までの各要素に、それぞれ1〜10が代入されていたとき、
a[0]〜a[10]の要素数は11あるってことはOK?
0093デフォルトの名無しさん (スプー Sdb8-ud2d)2016/06/08(水) 14:45:41.43ID:cIBTG1hgd
>>91
>>92
そうだったのですか、ありがとうございます。
a[10]はa[9]の間違いでした。申し訳ないです。
0094デフォルトの名無しさん (オッペケ Sr89-ud2d)2016/06/08(水) 18:18:51.66ID:Ay2NYYowr
>>88は健常者
>>92はアスペ
0095デフォルトの名無しさん (ワッチョイ 8063-ud2d)2016/06/08(水) 23:17:00.92ID:dY3DVg900
>>88
83「イテレーターをデリファレンスして要素の左辺値を取り出しているからとしか言いようが無い」
85「『引数部分に要素』の『引数』をラムダ式のコンパレーターと解釈するか、比較関数が受け取る引数と解釈するか」

つまり83と85はアフォ
0096デフォルトの名無しさん (ワッチョイ bb7b-Xj17)2016/06/09(木) 21:39:41.69ID:9GK5WJKb0
c++ってこういうくだらない議論を延々やってる印象。
0097デフォルトの名無しさん (ワッチョイ bb02-7xHu)2016/06/09(木) 21:55:03.39ID:/Mjso7pS0
2chだから
0098デフォルトの名無しさん (アウアウ Sa97-jNGR)2016/06/09(木) 22:02:44.30ID:W5VdNr2fa
他の言語のスレではこんなんないし
c++がややこしいんじゃね
0099デフォルトの名無しさん (ワッチョイ d763-jNGR)2016/06/10(金) 00:14:56.84ID:ksaxsahD0
>配列内の数値が渡っている理由がよくわからない
↓
>そういう風に実装されているからだよ

>何で引数部分に 要 素 が 渡されるのか
↓
>引数部分をラムダ関数自体と解釈するか

>このとき、a1とa2に配列内の数値が渡っている理由がよくわからない
↓
>なんだよ理由がわからないって

言語の問題じゃなくて回答者のオツムに問題が有るのではないか
0100デフォルトの名無しさん (ワッチョイ bb02-7xHu)2016/06/10(金) 00:39:25.40ID:I1Owsl6u0
こういうところが2chが役に立たない理由
0101デフォルトの名無しさん (ワッチョイ bb7b-6mPp)2016/06/10(金) 01:09:42.25ID:X0D45aWY0
どういうところが役に立つの?
0102デフォルトの名無しさん (ワッチョイ fbdc-0TCb)2016/06/10(金) 06:19:15.40ID:CWxeJNTw0
プログラム板の全スレッドを見てるわけではないけど、
C++関連のスレッドは攻撃的な口調の書き込みが多いと感じる。
実務でよほどストレスの溜まる言語なのか、
そういう芸風の有名サイトあたりを模倣しているのか。
0103デフォルトの名無しさん (ワッチョイ eb42-jNGR)2016/06/10(金) 06:30:10.15ID:w7JbxUjA0
厳格でない事を許容できる人しか他の言語を使わないからじゃないの?
0104デフォルトの名無しさん (ワッチョイ 8b3c-drwA)2016/06/10(金) 06:37:36.55ID:BRIl1zRc0
GLRが厳格とな?
0105デフォルトの名無しさん (ワッチョイ 0742-jNGR)2016/06/10(金) 06:41:42.38ID:7AG0Olzm0
2chだからそれが普通だって思いこんでるんだろう。
ところで厳格でない言語ってなによ?
0106デフォルトの名無しさん (ワッチョイ 4fc0-W0AP)2016/06/10(金) 06:57:03.07ID:gztLLW9m0
MSDNのC++フォーラムはMVPの常連も回答もせず質問の仕方が悪いと文句書き込みばかりになってて見るのやめてしまった
久しぶりに見てみたらまだやってた
0107デフォルトの名無しさん (ワッチョイ 8b3c-drwA)2016/06/10(金) 07:00:48.79ID:BRIl1zRc0
逆に厳格な言語として有名だったのはJavaだな。
今でもそうなのかはわからんが。
0108デフォルトの名無しさん (ワッチョイ 8b3c-drwA)2016/06/10(金) 07:01:41.84ID:BRIl1zRc0
さらに厳格なのはXMLだろうな。
プログラミング言語ではないが。
0109デフォルトの名無しさん (ワッチョイ 9f13-Srpw)2016/06/10(金) 07:14:29.29ID:lJsEyLcp0
>>107
PASCAL だね,厳格なのは
0110デフォルトの名無しさん (ワッチョイ bb7b-Xj17)2016/06/10(金) 09:07:17.45ID:ODD2XRmk0
規格はあるけど、実際はコンパイラ依存ってのが現実だからな。
0111デフォルトの名無しさん (ワッチョイ 8b3c-drwA)2016/06/10(金) 09:17:57.24ID:BRIl1zRc0
だがしかし。
C++はヘロモンがある。
0112デフォルトの名無しさん (ワッチョイ bb7b-6mPp)2016/06/10(金) 10:35:55.57ID:X0D45aWY0
他の言語はデファクトスタンダードな実装が一つ存在してそれ以外は亜種みたいなものだからコンパイラ依存とか目立たないだけ
0113デフォルトの名無しさん (ワッチョイ 9f7d-iLHn)2016/06/10(金) 12:39:46.00ID:yu98+dTQ0
>107,109
ALGOL60を忘れてはいませんか
0114デフォルトの名無しさん (アウアウ Sa97-jNGR)2016/06/10(金) 15:26:39.37ID:rJIdiI/ka
c/c++ってパソコンでもスパコンでもマイコンでも普通によく使われるんだよね
そう考えるとすごいな
0115デフォルトの名無しさん (ワッチョイ 9f13-Srpw)2016/06/10(金) 19:28:05.13ID:lJsEyLcp0
fortran には負けるでしょう
0116デフォルトの名無しさん (ワッチョイ 077b-hSzB)2016/06/10(金) 19:36:38.72ID:nozgnbXX0
プッ
0117デフォルトの名無しさん (ワッチョイ bb02-7xHu)2016/06/10(金) 19:37:13.14ID:I1Owsl6u0
老人の研究者しか使ってない
0118はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ffa8-7xHu)2016/06/10(金) 23:06:31.17ID:eGOSJwN50
スパコンではまだ Fortran は強いみたい。
並列化で性能が出しやすいって聞くね。
0119デフォルトの名無しさん (ワッチョイ bb91-jNGR)2016/06/10(金) 23:43:29.61ID:dWFrFI9c0
インテル公式コンパイラは、C++とFortran
0120デフォルトの名無しさん (アウアウ Sa97-AHtr)2016/06/11(土) 01:21:59.05ID:Ga1z+Yika
なぜcolumn majorにしなかったのか
0121デフォルトの名無しさん (ワッチョイ 077b-hSzB)2016/06/11(土) 01:45:24.37ID:hLugldX80
頭悪いから
0122デフォルトの名無しさん (ワッチョイ eb4a-W0AP)2016/06/11(土) 05:35:44.69ID:i2XIvuGx0
>>102
有名サイトとはどこ?
0123デフォルトの名無しさん (ワッチョイ bb02-7xHu)2016/06/11(土) 10:47:15.03ID:LO2ooV2u0
>>122
自由ソフトウェア(笑)でググれ
0124デフォルトの名無しさん (ワッチョイ bb7b-Xj17)2016/06/11(土) 12:43:48.69ID:JwbsVpE70
コードをかかないc++er だからなw
あれで普及すると思ってる方がどうかしてるw
結局、言語を普及させるのはスーパーなフレームワークやライブラリの実装だってのに。
0125デフォルトの名無しさん (ワッチョイ 57c9-jNGR)2016/06/11(土) 13:19:22.77ID:zSGsCTOB0
しっ!いま喋ってるから!
0126デフォルトの名無しさん (ワッチョイ cf42-rvcI)2016/06/11(土) 22:44:22.60ID:scKw0KYu0
Smalltalkみたいにか
0127デフォルトの名無しさん (ワッチョイ 503c-4fuR)2016/06/17(金) 06:02:11.26ID:r/nICHre0
質問です
http://ideone.com/KkRt8T

上記のコードがVC2015でもideoneでも、ちゃんと特殊化バージョンが呼ばれるのですが
Apple LLVM上のコンパイラだと、どちらも非特殊化バージョンしか呼ばれません
(fuga構造体を外に出すとちゃんと特殊化バージョンが呼ばれる)
規格に詳しくないのですが、自分は上記のコードは特殊化バージョンが呼ばれるのが正しいですよね?
0128デフォルトの名無しさん (ワッチョイ 503c-4fuR)2016/06/17(金) 06:03:18.17ID:r/nICHre0
すみません消した文と混ざってしまいましたorz
X自分は上記のコードは特殊化バージョンが呼ばれるのが正しいですよね?
○上記のコードは特殊化バージョンが呼ばれるのが正しいですよね?
0129デフォルトの名無しさん (ワッチョイ 7063-qS7w)2016/06/17(金) 07:38:13.23ID:5HmA4kNf0
nullptr_tを特別扱いするというルールは規格に見あたらないな
疲れているんだろうきっと
http://melpon.org/wandbox/permlink/2sZw4nuTJgUPZmxE
0130デフォルトの名無しさん (ワッチョイ 503c-4fuR)2016/06/17(金) 09:03:05.45ID:r/nICHre0
すみません、wandboxなら再現できたんですね

やっぱり汎化バージョンが呼ばれますよね・・・・バグなのかなぁ
まぁ回避できるので実用上は大丈夫なんですが
0131デフォルトの名無しさん (ワッチョイ 30cd-sEca)2016/06/20(月) 00:28:37.00ID:6+h2eBKY0
例外処理というのがいまいちわかりません。

例外が発生する箇所をtry{}で囲い・・・と説明がありますが
そもそも例外が発生するとわかっていれば、それを根絶するように
修正すべきなのでは?と思ってしまいます

どのような局面で有益なのでしょうか?
0132デフォルトの名無しさん (ワッチョイ 300b-qS7w)2016/06/20(月) 00:45:19.22ID:KuHDgHp40
たとえばcのmallocはメモリ確保に失敗するとnullを返すけど
c++のnewはbad_allocを投げるでしょ
なんかの処理に失敗したことを伝えたい時は戻り値でなく例外で伝えた方が失敗への対処を呼び出し元に強いれるからいいんだよ
0133デフォルトの名無しさん (ワッチョイ 300b-qS7w)2016/06/20(月) 00:52:11.12ID:KuHDgHp40
ていうかtryで囲わなければ例外を関数の呼び出し元に伝えられることを理解してないのかな
0134デフォルトの名無しさん (ワッチョイ c602-4fuR)2016/06/20(月) 01:00:55.02ID:dcxG8b1i0
処理の失敗をif文で判定する代わりに使ってるだけだ
0135デフォルトの名無しさん (ワッチョイ 30cd-sEca)2016/06/20(月) 01:08:00.57ID:6+h2eBKY0
>>133
理解できてないから質問してんだろ
バカですか?
0136デフォルトの名無しさん (アウアウ Sac5-qS7w)2016/06/20(月) 01:26:46.05ID:RqtufBmpa
なんだコイツ…
0137デフォルトの名無しさん (ワッチョイ c602-4fuR)2016/06/20(月) 01:31:27.40ID:dcxG8b1i0
原理的なところはとりあえずほっておこう

こんな処理があるとする
//成功するか失敗するか分からない処理
if( funcA() ) goto ERROR;
if( funcB() ) goto ERROR;
if( funcC() ) goto ERROR;

正常処理
return 1;

ERRPR:
異常処理
return 0;.

これが
こう書けたらいいだろ
try{
funcA();
funcB();
funcC();
正常処理
}catch(...){
異常処理
return 0;
}
0138デフォルトの名無しさん (ワッチョイ c602-4fuR)2016/06/20(月) 01:33:39.48ID:dcxG8b1i0
訂正
if( !funcA() ) goto ERROR;
if( !funcB() ) goto ERROR;
if( !funcC() ) goto ERROR;
0139デフォルトの名無しさん (ワッチョイ 30cd-sEca)2016/06/20(月) 02:00:21.02ID:6+h2eBKY0
>>137
tryで書き直したとして、問題は解決しないですよね。
失敗していることを修正すべきでは?
0140デフォルトの名無しさん (ワッチョイ c63c-LK9o)2016/06/20(月) 02:16:46.53ID:IovGZCSW0
メモリ不足とか領域破壊とか、当該コードからじゃ修正のしようがない問題があってね。
0141デフォルトの名無しさん (ワッチョイ c602-4fuR)2016/06/20(月) 02:20:12.88ID:dcxG8b1i0
>>139
どうやっても成功するか失敗するか分からない処理ってあるだろ?
外部とやり取りするときとか
例えば
とあるファイルを読み込んで処理する関数があるとする
でもそのファイルが無ければ処理は失敗する
ほかにもアクセス制限がかかっていたりファイルの中身が壊れていたりとかね
その場合0を返すか例外を投げて呼び出しもとで対処する

そういった絶対に100%成功する保証が無い処理っていうのはいくらでもある
メモリが断片化しすぎて確保できないとか
外部のサーバとの通信に失敗したとか
ハードが壊れてたとか
プログラム側からはどうしようもないからといっていきなり終わらせるのは間違い、失敗なら失敗なりにちゃんとした手続きをして終わるか処理を続行しなければいけない
例えば信号機のプログラムだとかは何かエラーが起こったとしてもなにがなんでも動き続けなければいけない
その判断をするために例外処理があるわけ
0142デフォルトの名無しさん (オッペケ Sr4d-qS7w)2016/06/20(月) 02:20:13.62ID:vlE7fe2Fr
解決はcatchの中でするんだよ。
0143デフォルトの名無しさん (ワッチョイ e5a2-qS7w)2016/06/20(月) 02:27:46.60ID:Nxz2d29B0
>>139
解決できるならそうすべきなのは君の言うとうり。
解決できないエラーを扱うから例外なんだよ。
メモリ足りないエラーなんて予測は出来ても解決できないでしょ?
0144デフォルトの名無しさん (ワッチョイ 30cd-sEca)2016/06/20(月) 03:04:40.98ID:6+h2eBKY0
>>143
確保しようとしている量が、空きより多いのに、確保要求を出すことがそもそもの誤りなのでは?
0145デフォルトの名無しさん (ワッチョイ c602-4fuR)2016/06/20(月) 03:18:17.66ID:dcxG8b1i0
>>144
出さないでどうすんの?
どうやって目的を達成するわけ
0146デフォルトの名無しさん (ワッチョイ 217b-4eJF)2016/06/20(月) 03:18:18.04ID:ZolMwWER0
で、仮に確保前に空き容量を確認するコードを書いたとして足りなかったらあなたはどうするの?
0147デフォルトの名無しさん (ワッチョイ 30cd-sEca)2016/06/20(月) 03:22:07.68ID:6+h2eBKY0
確保要求を出さない
0148デフォルトの名無しさん (ワッチョイ e5a2-qS7w)2016/06/20(月) 03:23:03.75ID:Nxz2d29B0
>>144
ねえ?
実際プログラムしてみなよ。
自分の言ってる事の、ある種の矛盾に気付くとおもうから。
0149デフォルトの名無しさん (ワッチョイ 30cd-sEca)2016/06/20(月) 03:26:46.19ID:6+h2eBKY0
>>148
コーティング前の話をしてるのに・・・
コーティングしてできなかったら、できないって結論なのですか?
0150デフォルトの名無しさん (オッペケ Sr4d-qS7w)2016/06/20(月) 03:50:50.84ID:vlE7fe2Fr
相談(?)内容がずれてる。

Cの戻り値でエラーを返すのと、C++の例外処理で、できることは変わらない。

いちいちifで戻り値を見るのがめんどうだから、throwで例外を投げて、まとめてcatchで受ける。それだけ。嫌ならifで戻り値をチェックすればいいし、エラーが100%おきないコードがかけるなら、エラー処理しなくていい。
0151デフォルトの名無しさん (ワッチョイ 353c-6iFS)2016/06/20(月) 04:01:47.75ID:FhfmjeRD0
殺して奪っても、働いて貯めても、金は金やで。
0152デフォルトの名無しさん (ワッチョイ 353c-6iFS)2016/06/20(月) 04:05:48.22ID:FhfmjeRD0
スレッド間の例外転送について。
0153デフォルトの名無しさん (ワッチョイ 217b-4eJF)2016/06/20(月) 05:12:06.39ID:ZolMwWER0
>>147
出さずにどうすんの?
そこでプログラムは停止するの?
0154デフォルトの名無しさん (アウアウ Sac5-OECi)2016/06/20(月) 05:20:40.42ID:tcHwD5YJa
・自前の空き確認コードにより要求に足りないことが判明したので確保要求しない
・取り敢えず確保要求して断られた(例外)

両者は事実上同じでは?
0155デフォルトの名無しさん (ワッチョイ 217b-4eJF)2016/06/20(月) 05:37:11.98ID:ZolMwWER0
>>154
厳密には同じじゃないけどな。事前に確認しても実際に要求出すまでの間に他のアプリによって空きが少なくなることもあるわけで
0156デフォルトの名無しさん (アウアウ Sac5-OECi)2016/06/20(月) 05:46:32.76ID:tcHwD5YJa
なるほど。ではますます例外処理による対応を採った方が正しいわけですね
0157デフォルトの名無しさん (ワッチョイ ab64-4fuR)2016/06/20(月) 05:46:40.79ID:7Cuehomz0
よし、CLIしよう
0158デフォルトの名無しさん (ドコグロ MM5c-qS7w)2016/06/20(月) 07:01:35.38ID:A8kl/PgBM
>>155
> 事前に確認しても実際に要求出すまでの間に他のアプリによって空きが少なくなることもあるわけで
プログラマーなら逆のケースを考えようよ
0159デフォルトの名無しさん (ドコグロ MM5c-qS7w)2016/06/20(月) 07:03:02.99ID:A8kl/PgBM
>>155
すまん寝ぼけてた
>>158 は撤回でお願い
0160デフォルトの名無しさん (ワッチョイ e5a2-qS7w)2016/06/20(月) 08:23:56.03ID:Nxz2d29B0
>>149
そうじゃなくて、ここまでいろいろな説明されても腑に落ちないなら、実際試して実感してみーや?って事。
百聞は一見にしかずって事。
0161デフォルトの名無しさん (ワッチョイ c602-4fuR)2016/06/20(月) 08:38:24.54ID:dcxG8b1i0
>>149
そもそも空き容量を調べて確保要求を出さないという判断をすることはエラー処理なんだが
君はおそらく混乱している
0162デフォルトの名無しさん (ワッチョイ 7063-qS7w)2016/06/20(月) 08:46:33.68ID:Uj3W8dOJ0
>>144
そりゃ自プロセスの情報だけで命令の実行結果が予測できない局面が多いからな
オペレーティングシステムの管理下で実行されるプログラムやハードウェアを制御するプログラムなら尚更
0163デフォルトの名無しさん (アウアウ Sac5-qS7w)2016/06/20(月) 09:11:03.03ID:qnUK8Tcka
cでmallocとか使ってればifでいちいち失敗を判定するのがいかに面倒か経験してると思うんだよね
c++に行く前にもっとcを経験すべきなんじゃない
0164デフォルトの名無しさん (ワッチョイ 353c-qS7w)2016/06/20(月) 11:33:59.56ID:xokQvwUO0
C++をやる前にCを学ぶという発想が老害
老人はすぐに自分用の昔の苦労を他人に押しつけたがる
0165デフォルトの名無しさん (ワッチョイ c602-4fuR)2016/06/20(月) 12:31:29.07ID:dcxG8b1i0
イミフ
より簡単なところからやった方が苦労が少ないだろ
0166デフォルトの名無しさん (アウアウ Sac5-OECi)2016/06/20(月) 12:35:16.21ID:jkugRtjka
ハハワロス
0167デフォルトの名無しさん (ワッチョイ 8b9b-qS7w)2016/06/20(月) 12:44:59.31ID:zHRXCVwP0
C++の前にCを学ぶってのはいいと思うけど
面倒なのを経験しとけってのは老害の気がする
0168デフォルトの名無しさん (ワッチョイ 0d7b-o3Bz)2016/06/20(月) 12:50:07.90ID:7O0ObdXP0
そんなに面倒だとは思わないけどな
0169デフォルトの名無しさん (ワッチョイ 300b-qS7w)2016/06/20(月) 13:15:41.54ID:KuHDgHp40
>>167
だって質問者がc++追加機能の有用性が分からないから教えてっていうんだもん
少しは経験しないとそりゃ分からんじゃん?
0170デフォルトの名無しさん (ワッチョイ 5c7b-NLZX)2016/06/20(月) 13:30:48.11ID:3NNTVW740
だよね
mallocや*openのエラー処理のクソめんどくささを経験しないと例外の有り難みは分からんな
0171デフォルトの名無しさん (ワッチョイ c6cc-qS7w)2016/06/20(月) 14:55:54.01ID:EjDa070W0
__try {} finally {} 最強
0172デフォルトの名無しさん (ワッチョイ c6cc-qS7w)2016/06/20(月) 14:58:03.48ID:EjDa070W0
__try {} catch {} __finally {} 最強ヽ(^。^)丿
0173デフォルトの名無しさん (ワッチョイ 7063-qS7w)2016/06/20(月) 16:48:04.00ID:Uj3W8dOJ0
文盲が多いな。
>>131は「それを根絶するように修正すべきなのでは」と言っているのだから
幾らエラー処理の楽さを説明したところで会話がかみ合っていない。
まず例外が何のための機能なのかを理解させる必要がある
0174デフォルトの名無しさん (ワッチョイ c602-4fuR)2016/06/20(月) 18:56:59.95ID:dcxG8b1i0
根絶できないということは既に示してあるだろう
それを無視するならもはや学ぶ資格はない
0175デフォルトの名無しさん (ワッチョイ 8317-LYlF)2016/06/20(月) 19:34:32.13ID:A1k1A+0q0
class AAA クラス名 {}
とか見るけどAAAは何を意味しているのですか?
AAAがあるとMINGWとかでDLLを作って利用しようとすると
undefined referenceになってしまうのです
0176デフォルトの名無しさん (ワッチョイ c602-4fuR)2016/06/20(月) 20:05:46.83ID:dcxG8b1i0
何かのマクロ
ヘッダに定義が書かれていないから見つからないと言われている
0177175 (ワッチョイ 8317-LYlF)2016/06/20(月) 20:37:59.87ID:A1k1A+0q0
>>176
レスありがとう。
少し見てみたらただの空defineだった
これがあってもコンパイルは通るしDLLも作れるのだけど
作ったDLLを使ってプログラムをコンパイルしようとするとエラーが出る

この空defineをクラス宣言に組み込む意味がわからないのだけど・・・
0178片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK01-H5Or)2016/06/20(月) 20:52:58.62ID:Iph33/KOK
そこには__declspec(dllimport)や__declspec(dllexport)を
指定することがアルネ
0179デフォルトの名無しさん (オッペケ Sr4d-qS7w)2016/06/20(月) 21:52:48.01ID:mSxk+S8gr
1024個のfloat配列を最速で昇順に並べたいのだけどどうしたらいい?
0180デフォルトの名無しさん (ワッチョイ 353c-o3Bz)2016/06/20(月) 21:54:46.94ID:sBXZNPyY0
>>139
Objective-Cがまさにその思想で作られてる。
Objective-Cは例外処理は一応機能としてはあるけど
例外が起きたらクラッシュさせろという思想
(というかObjective-Cの例外処理は
setjmp, longjmpで実装されているので、
例外が起きたらまずメモリリークするため
例外が起きた後実行し続けてはいけない)
まぁJavaなんかはミッションクリティカル
(クラッシュしてはいけない)サービスで
動かすことが多いので例外処理でガチガチに
固めないといけないが
バッファオーバーランが日常茶飯事の
C++で例外処理する意味はあまり無いわな
0181デフォルトの名無しさん (ワッチョイ e5a2-qS7w)2016/06/20(月) 21:58:57.96ID:ySgS+Tc+0
>>179
とりあえずstd::sort
0182デフォルトの名無しさん (ワッチョイ 7063-qS7w)2016/06/20(月) 22:00:23.20ID:Uj3W8dOJ0
>バッファオーバーランが日常茶飯事の
C++で
個人的の日常をさも普遍的であるかのように語られても
0183デフォルトの名無しさん (ワッチョイ c6cc-qS7w)2016/06/20(月) 22:01:46.31ID:sBhXM9Rw0
>>179
std::sort(&flt[0],&flt[102…
あと自分で考えろ
学校の宿題じゃないよな?
0184デフォルトの名無しさん (ワッチョイ 7063-qS7w)2016/06/20(月) 22:07:48.28ID:Uj3W8dOJ0
>>181
>>183
へー、そのstd::sort引数の『…』の部分をkwsk
0185175 (ワッチョイ 8317-LYlF)2016/06/20(月) 22:14:37.56ID:A1k1A+0q0
>>178
レス有難う御座います
Windows特有のものだったのか・・・
0186デフォルトの名無しさん (ワッチョイ e5a2-qS7w)2016/06/20(月) 23:07:52.06ID:ySgS+Tc+0
float f[1024] = {…};
std::sort(begin(f), end(f));

って、この程度じゃね?
試してないけど。
0187デフォルトの名無しさん (ワッチョイ 7063-qS7w)2016/06/20(月) 23:16:15.40ID:Uj3W8dOJ0
>>186
sortに実数は処理系依存で第三引数を指定しないと使えないと記憶していたが使えるの?
0188デフォルトの名無しさん (ワッチョイ fc42-qS7w)2016/06/20(月) 23:21:40.03ID:o6DROSFS0
実数のpredictorが処理系によって変なbool返すことなんかあるの?
0189デフォルトの名無しさん (ワッチョイ 7063-qS7w)2016/06/20(月) 23:34:48.91ID:Uj3W8dOJ0
多くの処理系ではfloatがstrict weak orderingを満たしていないので規定のoperator<は使えなかったような
少なくとも実態は↓
http://ideone.com/mvtCSo
0190デフォルトの名無しさん (アウアウ Sac5-OECi)2016/06/20(月) 23:36:46.58ID:jkugRtjka
>>179
最速でと言っている以上、マルチコアプログラミング必須だろう。素人の質問ではない
0191デフォルトの名無しさん (ワッチョイ 5c7b-NLZX)2016/06/20(月) 23:39:33.18ID:3NNTVW740
ぷっ
0192デフォルトの名無しさん (ワッチョイ 5c7b-NLZX)2016/06/20(月) 23:43:50.50ID:3NNTVW740
こんな時間にわざわざナン食いたくなってきた
0193デフォルトの名無しさん (ワッチョイ c602-4fuR)2016/06/21(火) 00:01:38.49ID:gNm/C6TY0
>>190
データの初期条件を書かない時点で素人
0194デフォルトの名無しさん (ワッチョイ c6cc-qS7w)2016/06/21(火) 00:08:13.00ID:NNernMLQ0
>1024個のfloat配列
もうこの時点でカオス
floatの配列が1024個あるんだろ?
0195デフォルトの名無しさん (アウアウ Sac5-OECi)2016/06/21(火) 00:11:07.05ID:RCvb5i87a
素人ぼく「なるほど」
0196デフォルトの名無しさん (ワッチョイ c6cc-qS7w)2016/06/21(火) 00:15:24.16ID:NNernMLQ0
>>189
だったら候補から nan だけ remove_if で抹消しておけばいいだけの話だろ
今そういうチンケなミソカスなレベルの話をしているわけじゃない
0197デフォルトの名無しさん (ワッチョイ e17b-dMW/)2016/06/21(火) 00:15:58.24ID:dI1rBvhw0
>>170
別にそういう面倒臭さはたいした事ないけどな。
問題は具体的なエラー処理をどの階層に統一的に記述するかってことで
例外処理は必要になるって話だろ。
0198デフォルトの名無しさん (ワッチョイ 4d4a-P8Zx)2016/06/21(火) 00:21:22.28ID:TOLYnEfM0
>>179
最速のパソコンを使え
0199デフォルトの名無しさん (ワッチョイ 7063-qS7w)2016/06/21(火) 00:44:12.82ID:2sqF1eLz0
>>196
0200デフォルトの名無しさん (ワッチョイ 7063-qS7w)2016/06/21(火) 00:44:58.41ID:2sqF1eLz0
>>196
ほう、お前の妄想ではどういう話だったのかね?
float配列をソートしたいという要求に対してstd::sortの前提条件を無視した或いは
それを守るために必要な処理を省いたコードを教えるのは
質問者を陥れているようにしか見えないのだが
0201デフォルトの名無しさん (ワッチョイ c6cc-qS7w)2016/06/21(火) 00:59:39.29ID:NNernMLQ0
>>200
うるせぇなオメェ
細かいことチマチマ指摘してんじゃねぇよ
0202デフォルトの名無しさん (ブーイモ MMa8-qS7w)2016/06/21(火) 01:02:46.90ID:zxMwhnoQM
クレーマーには触っちゃダメ、絶対。

煽って答え出させて重箱の隅つつく人が常駐してるから気を付けてね
0203デフォルトの名無しさん (ワッチョイ 5c7b-NLZX)2016/06/21(火) 01:04:30.49ID:94Qtn0uR0
>>200
そもそもnanを含んだ配列が>>189みたくsortされるからって何?
まずお前の「前提条件を満たしたコード」とやらを示せよこのタコ入道
0204デフォルトの名無しさん (ワッチョイ 7063-qS7w)2016/06/21(火) 01:35:46.23ID:2sqF1eLz0
>>203
大小判定や同値判定を見誤るから、nan以外の相対関係もおかしくなる
http://ideone.com/uhrfOg
それに+0.0fが-0.0fより小さいように見えるのも望ましい結果ではないだろう

>「前提条件を満たしたコード」とやらを示せよ
めんどくさいから少し訂正させてくれ
「sortはstrict weak orderingが前提なのでfloatに対して使うべきものではない」
0205デフォルトの名無しさん (ワッチョイ c6cc-qS7w)2016/06/21(火) 01:47:57.49ID:NNernMLQ0
>>204
sort 自体を否定するとか馬鹿だろお前
0206デフォルトの名無しさん (ワッチョイ c602-4fuR)2016/06/21(火) 02:14:30.77ID:gNm/C6TY0
sortは細かい判定条件をラムダ式でいじって使うもんだぞ
0207デフォルトの名無しさん (ワッチョイ 7063-qS7w)2016/06/21(火) 02:22:43.63ID:2sqF1eLz0
いやまったくだな
>>187の時点でその話をしようとしたら通じなかったので、
既定のコンパレーター版に絞ろうと話を端折ったら
「sort自体を否定」とかよくわからんことを言い出す奴がいて驚きだ
0208デフォルトの名無しさん (ワッチョイ 0130-QNxj)2016/06/21(火) 02:27:25.77ID:8zVH+zTl0
ほおらみんな大好き規格だよ
文面そのものしか理解できない人には
文の意味するところを正しく理解するのは難しいのかなあ?
> 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.
0209デフォルトの名無しさん (ワッチョイ c6cc-qS7w)2016/06/21(火) 02:34:58.24ID:NNernMLQ0
>>207
お前さ、重要なところ短縮して英訳しているくせに開きなおんなよ
0210デフォルトの名無しさん (ワッチョイ c6cc-qS7w)2016/06/21(火) 02:36:11.68ID:NNernMLQ0
英訳じゃない和訳だな
0211デフォルトの名無しさん (ワッチョイ c6cc-qS7w)2016/06/21(火) 02:40:01.85ID:NNernMLQ0
オメェみたいな短縮和訳馬鹿が居るからおかしな文献が巷を占領して間違った知識が日本人に定着してんだろがドアホ
0212デフォルトの名無しさん (ワッチョイ 30cf-UcEt)2016/06/21(火) 03:16:59.11ID:t1Pm//IA0
>>204
おかしくなるのは配列がnanを含んだ場合だけでしょ?
nanを含まないfloat配列には使えるんだから
「sortはstrict weak orderingが前提なのでfloatに対して使うべきものではない」とまでは
言えない(一般化はできない)のでは?
0213デフォルトの名無しさん (ワッチョイ abe7-wM7A)2016/06/21(火) 05:12:42.68ID:fPQg0ArG0
http://ideone.com/oDnBxH
VCだと動くんだけどなー。
gをdにできる人いる?
とりあえず暇だったから無駄な努力してみたんだけど。
0214デフォルトの名無しさん (ワッチョイ 7063-qS7w)2016/06/21(火) 08:10:40.25ID:2sqF1eLz0
>>212
>>208にあるように『on the values.』だから、対象の配列に変な値が入っていなければOKと言うことになるな
だがfloat計算で値がNaNになることは通常だし、一般化の観点では(可能性が排除されていない以上)駄目かと
0215デフォルトの名無しさん (アウアウ Sac5-77//)2016/06/21(火) 08:19:52.07ID:UGnXUd83a
速度は boost::optional >> 例外
0216デフォルトの名無しさん (ワッチョイ 353c-qS7w)2016/06/21(火) 17:59:51.47ID:oDvUiKTs0
クソスレ
0217デフォルトの名無しさん (ササクッテロ Sp4d-ntlg)2016/06/21(火) 20:30:30.31ID:/2xf0llxp
そんなこと言いつつどうせ
nanがでないことが明らかな状況ならコンパレータなしのstd::sort使うでしょ
0218デフォルトの名無しさん (ワッチョイ 5c7b-NLZX)2016/06/21(火) 21:34:53.54ID:94Qtn0uR0
まあ場合にもよるだろうけどnanがある時点で普通はバグだわな(>>214にとっては通常みたいだけどw)
そんなものをソートするなんて気が狂ってる
0219デフォルトの名無しさん (ワッチョイ c602-4fuR)2016/06/21(火) 21:44:13.59ID:gNm/C6TY0
そういえば-0.0を判定する方法ってある?
0220デフォルトの名無しさん (ワッチョイ 7063-qS7w)2016/06/21(火) 21:47:37.24ID:2sqF1eLz0
>>219
多分
v==0.0 && std::signbit(v)//#include<cmath>
0221デフォルトの名無しさん (ワッチョイ 7063-qS7w)2016/06/21(火) 21:49:07.39ID:2sqF1eLz0
signbitはマクロなのでstd::が付かないかもしれない
0222デフォルトの名無しさん (ブーイモ MMa8-qS7w)2016/06/21(火) 21:55:32.01ID:/+hzxGEKM
(*(uint*)&val) != 0x80000000u
とかかしら…
0223デフォルトの名無しさん (ワッチョイ 7063-qS7w)2016/06/21(火) 21:56:39.53ID:2sqF1eLz0
signbitはCではマクロだったがC++は関数だった。まあいいか
0224デフォルトの名無しさん (ワッチョイ c602-4fuR)2016/06/21(火) 21:59:14.02ID:gNm/C6TY0
>>220
なるほどな
0でもちゃんと判定してくれるんだな
0225デフォルトの名無しさん (アウアウ Sac5-OECi)2016/06/22(水) 00:09:44.23ID:lhXu2xXYa
>>222
とかかしらってなんだよ。男らしくないな。〜かしらなんて言う男は俺はのび太以外知らねえ!
0226デフォルトの名無しさん (ワッチョイ c6cc-qS7w)2016/06/22(水) 03:30:25.04ID:L68kwCJ00
>>223
オメェしつけぇんだよ
いつまでグダグダ言ってんだよ
0227デフォルトの名無しさん (ワッチョイ abe7-wM7A)2016/06/22(水) 03:46:51.38ID:BIlbzxem0
いらいらすんなよ。
0228デフォルトの名無しさん (ワッチョイ b1dc-5rjR)2016/06/22(水) 07:30:18.83ID:cwQouqrz0
文末が「〜かしら」になってるのは
投稿者が女性だと思えばいいんじゃないかしら。
0229デフォルトの名無しさん (ワッチョイ abe7-wM7A)2016/06/22(水) 08:15:41.55ID:BIlbzxem0
かしらかしらごぞんじかしら。
0230デフォルトの名無しさん (ワッチョイ e5a2-qS7w)2016/06/22(水) 08:16:50.88ID:QJLicZbi0
なるほど、かしら。
0231デフォルトの名無しさん (ワッチョイ 7063-qS7w)2016/06/22(水) 08:21:11.24ID:uS7mSXVf0
>>226
いや失礼したこれはすまんな
ところで昨日の>>211は何だったんだ?
「和訳」とか「文献が巷を占領」とか「日本人に定着」とか、何を言っているのかさっぱり理解できなかった
0232デフォルトの名無しさん (アウアウ Sac5-OECi)2016/06/22(水) 09:13:55.09ID:lhXu2xXYa
2chに女は居ない。
0233デフォルトの名無しさん (ワッチョイ 30cd-sEca)2016/06/22(水) 09:57:23.70ID:0rcNr1i50
女は2chに居ない
だろ
0234デフォルトの名無しさん (ワッチョイ 30cd-sEca)2016/06/22(水) 09:58:08.40ID:0rcNr1i50
>>228
エピの可能性あるんじゃないかしらん?
0235デフォルトの名無しさん (ワッチョイ c342-4fuR)2016/06/22(水) 10:02:29.02ID:S4ISOPGK0
鬼女板行ってみれ
0236デフォルトの名無しさん (ワッチョイ c6cc-qS7w)2016/06/22(水) 12:38:37.12ID:L68kwCJ00
>>231
それ理解できないなら貴様の頭が相当弱いってことだ
0237デフォルトの名無しさん (ワッチョイ b1a5-o3Bz)2016/06/22(水) 22:11:47.41ID:1pVyv3ep0
俺、女だよ
0238デフォルトの名無しさん (ワッチョイ b7cb-jO4j)2016/06/23(木) 22:29:59.26ID:GIAI+oE/0
std::tuple< std::string&& > a( std::string( "aaaaaaaa" ) );
std::cout << std::get< 0 >( a ) << std::endl;
とやると何も出力されません何故ですか
vc2015です
0239デフォルトの名無しさん (ワンミングク MMcf-gJJb)2016/06/23(木) 22:41:10.07ID:/04P5n9zM
stringの寿命がつきてるから
0240デフォルトの名無しさん (ワッチョイ 4742-gJJb)2016/06/24(金) 00:09:11.65ID:y9xGd3/D0
return std::move(obj);
って意味ある?
NRVOが阻害されるだけで使いみちない気がするんだけどイマイチ理解してない
0241デフォルトの名無しさん (ワッチョイ efb5-gJJb)2016/06/24(金) 00:30:41.47ID:lIQqToSu0
>>240
objがNRVOの働かない変数や右辺値扱いされないID式の時には役に立つ可能性が否定できないかも知れない
0242デフォルトの名無しさん (ワッチョイ ef02-jO4j)2016/06/24(金) 02:10:21.14ID:jii+zZf10
>>240
それにしかできないことはreturnのタイミングで寿命が尽きない変数に対してmoveが使えること
クラスのメンバ、グローバル変数、ラムダ式のキャプチャした変数、参照渡しした変数とかに対してmoveが使える
使い道はメンバの値を取り出して初期化する関数とかくらいしか思いつかない
0243デフォルトの名無しさん (ワッチョイ ef02-jO4j)2016/06/24(金) 02:14:28.75ID:jii+zZf10
あとNRVOが実装されてないクソコンパイラで使える
0244デフォルトの名無しさん (ワッチョイ 9b7b-LLnp)2016/06/24(金) 03:12:50.77ID:KfxfBd4P0
moveまで実装しつつNVROに対応してないなんてコンパイラ存在しないと思うけどな
0245デフォルトの名無しさん (オッペケ Srb7-gJJb)2016/06/24(金) 10:38:43.01ID:6KaoEWJir
>>243
NRVOの無いコンパイラーだと
move有り無しでどう違うのかkwsk
0246デフォルトの名無しさん (スプー Sd8f-gJJb)2016/06/24(金) 11:44:52.91ID:ryEKZAMad
そりゃコピコンが動くのかどうかなんじゃないの?
0247デフォルトの名無しさん (オッペケ Srb7-gJJb)2016/06/24(金) 12:11:06.09ID:6KaoEWJir
幾ら何でもC++の規格はそこまでマヌケではない
0248デフォルトの名無しさん (スプー Sd8f-gJJb)2016/06/24(金) 12:20:13.47ID:ryEKZAMad
>>247
必ずしも関数スコープ内ローカル変数のreturnに限定した話ではないので
0249デフォルトの名無しさん (アウアウ Sa77-X2hC)2016/06/24(金) 13:19:14.55ID:/3QNO0r0a
c++を開発したって言われてる、ビャーネは具体的には何を作ったの?
コンパイラ?
0250デフォルトの名無しさん (スプー Sd8f-gJJb)2016/06/24(金) 13:33:28.97ID:ryEKZAMad
>>249
ユニコード
0251デフォルトの名無しさん (ワッチョイ 1b7b-iWcA)2016/06/24(金) 14:29:13.01ID:gUVe9uqS0
>>249
cfront
0252デフォルトの名無しさん (JP 0H57-kDJ5)2016/06/24(金) 21:22:59.63ID:RKgBQkvWH
>>249
つ wikipedia
0253デフォルトの名無しさん (ワッチョイ c70f-/9v5)2016/06/24(金) 22:10:53.49ID:3kZY+ixW0
>>249
ARM
0254デフォルトの名無しさん (ワッチョイ 4b54-gJJb)2016/06/25(土) 00:29:09.66ID:PnL04P5G0
>>249
ハゲの尊厳n
0255デフォルトの名無しさん (アウアウ Sa77-X2hC)2016/06/25(土) 16:30:56.22ID:WM8etTyAa
Windows10もcで書かれてるの?
それともc++?
0256デフォルトの名無しさん (ワッチョイ ef02-jO4j)2016/06/25(土) 16:40:59.75ID:ns4573pb0
両方
0257デフォルトの名無しさん (ワッチョイ 7b75-/9v5)2016/06/25(土) 21:48:59.88ID:oRr2IVma0
NTはデフォC++でそ
0258デフォルトの名無しさん (ワッチョイ 1f13-msxm)2016/06/25(土) 22:34:46.29ID:mLaPN0S30
>>257
win32api を C++ で実装するのは大変なのでは?
0259デフォルトの名無しさん (ワッチョイ 7b75-/9v5)2016/06/25(土) 23:04:55.63ID:oRr2IVma0
>>258
いいえ全然。
extern "C" これだけですよ、これだけ。
0260デフォルトの名無しさん (ワッチョイ fb7b-jO4j)2016/06/25(土) 23:18:54.37ID:Mfi8L5BO0
stdcall
0261デフォルトの名無しさん (アウアウ Sa77-X2hC)2016/06/25(土) 23:29:51.21ID:9ZjTEfbPa
>>259
c++を勉強しようね
0262デフォルトの名無しさん (ワッチョイ 43e7-vrBh)2016/06/26(日) 00:17:48.35ID:ifKGTnOo0
windows.hの各種定数をenumclassに書き換えたい衝動に狩られることがある。
0263デフォルトの名無しさん (ワッチョイ 7b75-/9v5)2016/06/26(日) 11:20:18.79ID:9EK0IVkl0
LPなんちゃらを殲滅したい衝動にかられる
0264デフォルトの名無しさん (ワッチョイ ef02-jO4j)2016/06/26(日) 13:38:19.19ID:UMVeVI2s0
何でマイクロソフトは読みやすくなるわけでもないのにtypedefしまくってるんだ
0265デフォルトの名無しさん (ワッチョイ efcc-gJJb)2016/06/26(日) 13:55:36.80ID:lLkVzKIc0
C言語との互換性
0266デフォルトの名無しさん (ドコグロ MM17-gJJb)2016/06/26(日) 13:58:45.19ID:qLHqrl/uM
別に読みやすくするため(だけ)に typedef する訳じゃないし
0267デフォルトの名無しさん (JP 0H57-kDJ5)2016/06/26(日) 14:28:28.09ID:0+Or/a+eH
16bit -> 32bit の以降の時の遺物だろう
ひょっとしたら Alpha とかサポートしてた時の都合かもしれんが
0268デフォルトの名無しさん (ワッチョイ aba2-gJJb)2016/06/26(日) 14:52:30.99ID:s81Ug6VY0
そして今、
32bit -> 64bit
で同様にいろいろ変更されている。

…しかし、わざわざ中身の型の方に依存した書き方をしてしまった人が多かったものだから阿鼻叫喚という。
0269デフォルトの名無しさん (ワッチョイ fb51-SJKp)2016/06/26(日) 14:58:27.80ID:xlZVWDWM0
*STRなんかは静的解析でNULターミネートされていない可能性を検出してくれたりもする。
0270デフォルトの名無しさん (ワッチョイ 9b7b-LLnp)2016/06/26(日) 16:56:44.66ID:Rc5W3RoT0
最近発表したChecked Cで…って事なんかな?
0271デフォルトの名無しさん (ワッチョイ 1f13-msxm)2016/06/26(日) 17:50:05.24ID:cK3U3ti80
>>259
いやいや,中身をC++で書いているのに,外皮だけCのインターフェースにするなんて出来ないのでは?デストラクタとかどうするの?
0272デフォルトの名無しさん (ワッチョイ eb3c-wRvM)2016/06/26(日) 17:52:03.24ID:8klNB0Ny0
自分で呼ぶしかありませんね。
0273デフォルトの名無しさん (ワッチョイ 6f9f-6XJa)2016/06/26(日) 17:58:33.26ID:720vsR4T0
CloseHandle のような後始末のインターフェースがあれば問題ない
0274デフォルトの名無しさん (ワッチョイ 1f13-msxm)2016/06/26(日) 18:04:00.80ID:cK3U3ti80
>>273
いやだからさ,>>257 NTはC++ で書かれている,というのは本当かな?と
0275デフォルトの名無しさん (ワッチョイ 1763-gJJb)2016/06/26(日) 20:51:00.59ID:UsuidMmr0
どの辺が「だから」だったのかと>>273は思ったに相違ない
0276デフォルトの名無しさん (ワッチョイ 7b75-/9v5)2016/06/26(日) 21:09:34.11ID:9EK0IVkl0
>>271
win32apiでデストラクタって何の話?
ちなみにCOMだってC++じゃなくCでサーバーもクライアントもOKだぞw
0277デフォルトの名無しさん (ワッチョイ 1f13-msxm)2016/06/26(日) 22:22:57.53ID:cK3U3ti80
>>276
>>274
0278デフォルトの名無しさん (ワッチョイ fb51-SJKp)2016/06/26(日) 22:53:43.27ID:xlZVWDWM0
>>274の疑問を持った根拠が>>271というわけじゃないのか?ループしてるぞ。
0279デフォルトの名無しさん (ワッチョイ 7b75-/9v5)2016/06/26(日) 23:05:44.00ID:9EK0IVkl0
>>274
400万行のC++だよ
0280デフォルトの名無しさん (ワッチョイ c77b-5cVk)2016/06/26(日) 23:44:55.78ID:LjaEIKAj0
>中身をC++で書いているのに,外皮だけCのインターフェースにするなんて出来ないのでは?
内部は開発効率化のためにC++で書くけれど外部インターフェースはCにするという要請はよくあることだし
俺もそういうライブラリ書いたことある
0281デフォルトの名無しさん (ワッチョイ 43e7-vrBh)2016/06/27(月) 01:12:28.35ID:uDyvV7QG0
クラスは関数でラップすればデストラクタ等はその中で処理される。
その後手続きをCでエクスポートすれば外部的にはCライブラリ。
0282デフォルトの名無しさん (ワッチョイ 1f13-msxm)2016/06/27(月) 07:07:12.19ID:q77XyyHa0
そうか thx
0283デフォルトの名無しさん (オッペケ Srb7-gJJb)2016/06/27(月) 07:28:15.79ID:7Fk1LScMr
>>279
それはWindows NT 3.51の時代な
0284デフォルトの名無しさん (ワッチョイ dbdc-Wdu2)2016/06/27(月) 07:30:40.79ID:4MiplAQJ0
今、Win10はC#で書いてるのかな。
0285デフォルトの名無しさん (ワッチョイ 170b-gJJb)2016/06/27(月) 09:32:57.52ID:SokS5zaj0
いや、そのc#の実行環境を何で書いてるのかとかそういうレベルの話をしていると思うんですけど
0286284 (ワッチョイ dbdc-Wdu2)2016/06/27(月) 12:30:55.29ID:4MiplAQJ0
俺の書いた >>284 も同じ趣旨。
つまりC#はOSを書ける言語なのかな、ということ。

C#知らないんで「そんなワケねぇだろ」という話かもしれないが。
0287デフォルトの名無しさん (ワッチョイ 7b75-/9v5)2016/06/27(月) 13:27:28.47ID:XsngVlFh0
つhttps://blogs.msdn.microsoft.com/hirosho/2015/03/18/gr-sakura-net-micro-framework/
0288デフォルトの名無しさん (ワッチョイ ef02-jO4j)2016/06/27(月) 19:35:33.11ID:IGJLedlW0
.netは技術的にはネイティブコードにできるからマイクロソフトにかかれば何でもできる
一般向けのは無理だけど
0289デフォルトの名無しさん (ワッチョイ 9b7b-kLFr)2016/06/27(月) 21:25:08.85ID:47vAhopU0
こんな暗黙的な動作の多い言語でOS書くわきゃねーだろ。
0290デフォルトの名無しさん (アウアウ Sa77-X2hC)2016/06/27(月) 21:58:56.71ID:VebqeWPma
>>280
そうする理由は?
0291デフォルトの名無しさん (ワッチョイ 7b75-/9v5)2016/06/27(月) 23:17:05.99ID:XsngVlFh0
C++がCの拡張であることが答えだと思うが?
0292デフォルトの名無しさん (ワッチョイ fb7b-jO4j)2016/06/28(火) 00:17:11.56ID:EhMwM3C70
そうじゃないだろ。
C++はABIに統一ルールがないから
ルールのあるCで出すしかない
0293デフォルトの名無しさん (ワッチョイ 2ba1-g/oQ)2016/06/28(火) 00:53:08.22ID:S1GtACVo0
DLLの話で…
extern
0294デフォルトの名無しさん (ワッチョイ 2ba1-g/oQ)2016/06/28(火) 00:53:55.90ID:S1GtACVo0
また引用符できれた。あーあ
0295デフォルトの名無しさん (アウアウ Sa77-4am/)2016/06/28(火) 01:50:08.94ID:a+4o3zCZa
C/C++は禿るからなるべく使いたくない、後発言語を使おう
↓
速度が出ないぞ、困った
↓
アルゴリズムを改善しよう
↓
速度が出ないぞ、困った
↓
低レベルに手を入れよう。でもアセンブリ言語でCPU依存の最新命令をゴリゴリ書く才能はないぞ
↓
Cは禿るからなるべく使いたくない
↓
C++なら脱毛量も抑えられるのでは?
0296デフォルトの名無しさん (ワッチョイ efcc-gJJb)2016/06/28(火) 02:23:52.24ID:6jJux1LZ0
Cはいろいろ気を使うからな
奴らはCでもオブジェクト化できる!とか言いながらパラメタ渡しに気を使い杉てハゲていくからね
例えるならC++がヤマトヌマエビ(素早い)でCがイシマキガイ(鈍い)みたいな社蓄だな
0297デフォルトの名無しさん (ワッチョイ 43e7-vrBh)2016/06/28(火) 03:03:25.48ID:mvAMGztx0
OOの隠ぺいは発明だと思うわ。
汚く書きたいとは思わんけど、どうしても見せたくない部分ってあるからね。
ユニファイドコールシンタックスはまだかー。俺の黒魔術が火を噴くぜ。
0298デフォルトの名無しさん (ワッチョイ 9b7b-LLnp)2016/06/28(火) 03:48:28.00ID:d4cEk4D30
>>297
UnifiedCallSyntaxが無いと出来ない事ってある?
0299デフォルトの名無しさん (ワッチョイ 43e7-vrBh)2016/06/28(火) 03:53:33.73ID:mvAMGztx0
>>298
いや、特にないよ。汗
ただ、汎用関数でconstexprとかの練習をしたいので切り分けられるという点に魅力を感じている。
まだ初心者なので・・・。Orz

まぁ、関数チェインができることが一つの魅力かなーと思ってる。
手続きをまとめられるかなーと。
それも視方によってはかなり汚いのだけどね。
0300デフォルトの名無しさん (ワッチョイ 43e7-vrBh)2016/06/28(火) 03:57:41.83ID:mvAMGztx0
関数チェインではvector vに対して、

v.map([](){}).reduse([](){}).get();

などのチェインができるようになる。
まぁ、そういう風に書かないといけないんだけどね。
0301デフォルトの名無しさん (ワッチョイ 43e7-vrBh)2016/06/28(火) 04:07:21.30ID:mvAMGztx0
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();
とかもね。
0302デフォルトの名無しさん (ワッチョイ 43e7-vrBh)2016/06/28(火) 04:24:29.18ID:mvAMGztx0
くどいけど、一応希望的観測も入ってるから。。。Orz
0303デフォルトの名無しさん (オッペケ Srb7-gJJb)2016/06/28(火) 08:10:49.54ID:wUFLL660r
Visual C++のbasic_string::dataが書き込めるようになったらしいが
塗る文字は書き込んでいいの?

N4582 21.3.1.7.1
The program shall not alter the value stored at p + size().
0304デフォルトの名無しさん (ワッチョイ 9b7b-LLnp)2016/06/28(火) 08:52:02.27ID:d4cEk4D30
>>303
size()の位置には何も書き込んじゃだめ
0305デフォルトの名無しさん (JP 0H57-kDJ5)2016/06/28(火) 09:02:07.83ID:4uPkxyfrH
何を塗るのかと考えてしまったわけだが
0306デフォルトの名無しさん (ワッチョイ 9d7b-macT)2016/06/30(木) 00:55:59.22ID:dSZkCmBK0
>>295
残念、最近の軽量言語は c を呼び易くなってる。
c++ は何もかも中途半端な器用貧乏。
0307デフォルトの名無しさん (ワッチョイ d57b-R7o+)2016/07/01(金) 21:35:42.35ID:N5RTRs5b0
swig使えばLLからC++余裕
0308デフォルトの名無しさん (ワッチョイ 808b-JaNH)2016/07/03(日) 08:44:12.57ID:HcRra/sZ0
質問
同じ名前の関数で、値渡しの引数に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()の実体は一つとみなされるっぽい
0309デフォルトの名無しさん (ワッチョイ dd7b-9j2g)2016/07/03(日) 09:12:00.13ID:GHSyq4ku0
>>308
同じ
intをコピーして渡すのだからそれにconstがついてようがついていまいが呼び出し側に何の影響もないからね。
0310デフォルトの名無しさん (ワッチョイ 9fe7-JaNH)2016/07/03(日) 09:27:27.37ID:TDiL8ANR0
呼び分けたいなら、参照と混ぜるのがいいのかな。
0311デフォルトの名無しさん (ワッチョイ 9fe7-JaNH)2016/07/03(日) 09:28:04.47ID:TDiL8ANR0
あー違うかも・・・。Orz
0312デフォルトの名無しさん (スプッ Sdb8-s3GQ)2016/07/03(日) 09:39:24.57ID:eF+utK+dd
つーか呼ぶ側がどうやって呼び分けるつもりなのだろう。
0313デフォルトの名無しさん (ワッチョイ 9fe7-JaNH)2016/07/03(日) 09:49:09.48ID:TDiL8ANR0
やっぱだめか。無駄レスすまんかった。
0314デフォルトの名無しさん (ワッチョイ dd7b-nIaX)2016/07/03(日) 10:45:12.34ID:GHSyq4ku0
呼び分けたい理由がわからんけど、分けたいならtemplate使えばいい
http://ideone.com/d2F5o7
0315デフォルトの名無しさん (ワッチョイ 1e02-R7o+)2016/07/03(日) 12:23:07.37ID:URB4sXSa0
そもそも何で同じにするのか
ネーミングセンス無いなら名前空間で分けろよ
0316デフォルトの名無しさん (ワッチョイ 1e3c-s3GQ)2016/07/03(日) 13:00:29.02ID:FivcklIc0
オーバーロード全否定 w
0317デフォルトの名無しさん (ワッチョイ 3575-NBGD)2016/07/03(日) 13:03:19.04ID:XUDM007B0
>>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 ]
0318デフォルトの名無しさん (ワッチョイ 9fe7-JaNH)2016/07/03(日) 13:05:18.24ID:TDiL8ANR0
新鮮な規格だ〜。
0319デフォルトの名無しさん (ワッチョイ 1e02-R7o+)2016/07/03(日) 13:56:08.24ID:URB4sXSa0
>>316
引数も同じにしたいって言ってるんだぞ
その次はテンプレートか名前空間で分けるしかないじゃん
0320デフォルトの名無しさん (ワッチョイ 808b-JaNH)2016/07/03(日) 14:03:55.46ID:HcRra/sZ0
>>319
何を持って同じ引数とみなすかが問題なのでは…
関数引数については>>309の通りなので多分>>317の規格がある
テンプレートの引数についてはconstの有無を無視したら困る(ことも考えられる)
から>>314のようになっている

希ガス、
0321デフォルトの名無しさん (ワッチョイ 1e3c-s3GQ)2016/07/03(日) 14:19:01.23ID:FivcklIc0
>>319
> 引数も同じにしたいって言ってるんだぞ
妄想乙
0322デフォルトの名無しさん (ワッチョイ 8063-s3GQ)2016/07/03(日) 19:47:44.01ID:CJZHBW3I0
仮引数のconstは関数本体の解釈にしか影響しないので
別の関数にしてforwarding referenceのテンプレートで振り分けるしか無いか。
と思ったが、引数の型がintなのでそれも出来ず
0323デフォルトの名無しさん (ワッチョイ 8063-s3GQ)2016/07/03(日) 20:39:14.60ID:CJZHBW3I0
>>312
こうだろう
http://ideone.com/QfE2F6
もしクラス型だったなら、常人にとって直感的な呼び分けはできる
0324デフォルトの名無しさん (アウアウ Sa61-s3GQ)2016/07/03(日) 21:16:34.18ID:VogRIy5Ba
f_constとf_not_constて名前違うやん
そうすりゃ呼び分けられるのは当たり前やろwwww
0325デフォルトの名無しさん (ワッチョイ 8063-s3GQ)2016/07/03(日) 21:32:17.76ID:CJZHBW3I0
>>324
呼び分けの呼び出し「元」の記述イメージを書いたのが実は45行目以降だった失礼
0326デフォルトの名無しさん (ワッチョイ 40cd-wGMc)2016/07/04(月) 02:44:51.10ID:aKsb1ucX0
boostの正規表現での検索ってperlより速いですか?
0327デフォルトの名無しさん (ワッチョイ 1e02-R7o+)2016/07/04(月) 03:03:10.02ID:E0X6Js8A0
そりゃ
0328デフォルトの名無しさん (アウアウ Sa61-4ZHw)2016/07/04(月) 03:34:51.14ID:pbD1RD37a
std::regexが競プロに使えないくらい遅い
0329デフォルトの名無しさん (ワッチョイ 808b-JaNH)2016/07/04(月) 22:21:44.04ID:ikWLTUmz0
毎回FSMをコンパイルし直しているのではないか
0330デフォルトの名無しさん (ワッチョイ 3a73-x3AI)2016/07/05(火) 13:34:35.95ID:D6k3Q2ii0
>>303
えと、"ABC"を"CDF"に書き換えるときは問題ないけど
"ABC"を"CD"に書き換える場合 p + size()の位置を'\0'に書き換えないと
"CD"+ゴミ文字+'\0'と言うわけの判らない状態になるんじゃないの?
"ABC"を"ABCD"+'\0'に書き換えるのはバッファサイズが足りない可能性があるので無理だろうけど
0331デフォルトの名無しさん (ワッチョイ 3a73-x3AI)2016/07/05(火) 13:38:42.15ID:D6k3Q2ii0
>>330
補足
この場合、新しい size() サイズは2だね
0332デフォルトの名無しさん (ワンミングク MM40-9j2g)2016/07/05(火) 14:06:57.61ID:jyuF/kASM
>>330
s.data()[size()]を書き換えちゃダメ
"ABC"を"CD"に書き換える場合 CDをコピーした後resize(2)する。
0333デフォルトの名無しさん (アウアウ Sa61-4ZHw)2016/07/06(水) 23:01:07.77ID:s9ecTOGAa
フールプルーフできないのか
せめてありがちな間違いを起こしそうならライブラリ設計者が警告出せるような仕組みが欲しい
0334デフォルトの名無しさん (ワッチョイ 8063-s3GQ)2016/07/06(水) 23:08:44.35ID:svlco4IY0
>せめてありがちな間違いを起こしそうならライブラリ設計者が警告出せるような仕組み
C/C++が最初から捨ててきたことを「せめて」とか言われても…
0335デフォルトの名無しさん (ワッチョイ 1e02-R7o+)2016/07/06(水) 23:31:46.62ID:S1fNdcb40
補助輪付けたら遅くなるだろ
0336デフォルトの名無しさん (アウアウ Sa61-4ZHw)2016/07/06(水) 23:47:30.48ID:s9ecTOGAa
コンパイルタイムの話ですよコンパイルタイム
0337デフォルトの名無しさん (ワッチョイ d306-UmxN)2016/07/07(木) 06:43:15.53ID:EFIqG9u50
静的試験ツールなんてなんぼでもあるだろ
0338デフォルトの名無しさん (JP 0H9f-02zg)2016/07/07(木) 06:58:15.43ID:eLSt6oyyH
コンパイルおせえよクソがと散々言われ続けてるのにまだ遅くするのか
D言語にしとけ
0339デフォルトの名無しさん (ワッチョイ 9742-UmxN)2016/07/07(木) 22:20:09.22ID:e0JO7czi0
コンパイル遅いのは許せる
実行遅いのは許せない・・・自分を
0340デフォルトの名無しさん (ワッチョイ 47cd-Bmei)2016/07/08(金) 01:02:35.60ID:CUMeTHck0
>>328
それくらい自分でかけよ
0341デフォルトの名無しさん (ワッチョイ 837b-esBB)2016/07/08(金) 01:03:49.31ID:wvqVojA50
moduleはC++17に入るの決まったんだっけ?
0342デフォルトの名無しさん (ワッチョイ ef02-Bfmi)2016/07/08(金) 01:20:15.51ID:XHOIzNG40
入らない
0343デフォルトの名無しさん (アウアウ Sa1f-uVi+)2016/07/08(金) 02:22:39.04ID:EjlSfwF/a
14でさえ把握できてないのに17も覚えないといけないの!
0344デフォルトの名無しさん (ワッチョイ ef02-Bfmi)2016/07/08(金) 02:31:42.73ID:XHOIzNG40
そんなに変わるところはない
採択された案のほとんどは修正だし
コア言語はマイナーアップデート程度
ライブラリは増える
0345デフォルトの名無しさん (スプー Sdbf-oo3f)2016/07/08(金) 07:40:36.88ID:Flii99Vkd
std::const_reverse_iterator<hoge::iterator> func()
{
return {hoge().begin()};
}
でリバースイテレータが作れません。何故ですか
0346デフォルトの名無しさん (オッペケ Sr1f-oo3f)2016/07/08(金) 08:03:32.96ID:8iyC4OaEr
コンパイラーのエラーメッセージを読めばわかるのでは
0347デフォルトの名無しさん (スプー Sdbf-oo3f)2016/07/08(金) 08:22:34.62ID:Flii99Vkd
constはいらなかったです
0348デフォルトの名無しさん (オッペケ Sr1f-oo3f)2016/07/08(金) 19:02:35.18ID:8iyC4OaEr
コンパイラーのメッセージも読まない荒らしは去れ
0349片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK5f-fi14)2016/07/08(金) 19:21:08.43ID:5bf5xqe9K
>>345
rbeginを使え、って言いたいとこだけど、
すぐ寿命が尽きる一時オブジェクトのイテレータを取得しても、意味ねーな。
0350デフォルトの名無しさん (スプー Sdbf-oo3f)2016/07/08(金) 19:23:27.49ID:J04Ban1Qd
意味はまるで問題にしてないのでそのように書いただけです
そのくらい言われなくてもわかるでしょう
0351片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK5f-fi14)2016/07/08(金) 19:37:00.88ID:5bf5xqe9K
一時オブジェクトではなく、他の場所にhogeを作らないといけない。
0352デフォルトの名無しさん (ワッチョイ 4763-oo3f)2016/07/08(金) 20:23:43.36ID:yKp6sPcD0
おじいちゃんは一つ前のレスも読めないようだ
0353デフォルトの名無しさん (ガラプー KK9f-fi14)2016/07/08(金) 20:33:03.46ID:5bf5xqe9K
意味の無いプログラミングなど有ってたまるか!
0354デフォルトの名無しさん (ワッチョイ 4763-oo3f)2016/07/08(金) 21:11:04.27ID:yKp6sPcD0
いきなりどうした
>>345-352と話が繋がってないし
4つ前の自分のレスぐらい覚えてろよ
0355デフォルトの名無しさん (ブーイモ MMbf-oo3f)2016/07/08(金) 21:32:33.08ID:J765OJydM
正直、正しいと思って間違ったことをしてしまう人が
同等の表現なのですと持ち出した例が
本当に最初にはまった事例と同等なのか疑問ではある。
0356デフォルトの名無しさん (ワッチョイ 5b7b-Pl7u)2016/07/08(金) 21:36:12.49ID:+pt5nh+80
>そのくらい言われなくてもわかるでしょう
何この上から目線wwwこんな奴初めて見た
0357デフォルトの名無しさん (ワッチョイ 970f-UmxN)2016/07/08(金) 22:51:23.21ID:mKM2j9np0
>>347
おれもそう思う
初めて話を聞いたときはよさげに聞こえたが
付き合えば付き合うほどクソぶりがわかってきた
volatileもそうだがconstも爆発しろだね
volatileにはatomicという出直し案が出ているが
constにはどうするつもりなんだろうね
const&と&&みたいのはクソつーかもうゲリスピーだろ
0358デフォルトの名無しさん (ワッチョイ 837b-esBB)2016/07/08(金) 23:00:06.45ID:wvqVojA50
>>357
コンパイラのエラーメッセージも読まない初心者に同調してそんな中身のない長文書いて恥ずかしくない?
0359デフォルトの名無しさん (ワッチョイ ef02-Bfmi)2016/07/08(金) 23:04:34.64ID:XHOIzNG40
volatileは組み込みのためにある
0360デフォルトの名無しさん (ワッチョイ efcc-oo3f)2016/07/08(金) 23:07:22.75ID:h6xGzFyv0
const がどの辺りまで及ぶのか不明なときがあるよな
0361デフォルトの名無しさん (ワッチョイ a7cb-Bfmi)2016/07/08(金) 23:17:43.60ID:b6PNZUTC0
ほんと馬鹿なんですね
解決方法なんて聞いてないです

なぜ
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() };
}
はできないのかと言っているんです
0362デフォルトの名無しさん (ガラプー KK5f-fi14)2016/07/08(金) 23:26:59.89ID:5bf5xqe9K
>>361
その理由はコンパイラ先生が教えてくれます。
0363デフォルトの名無しさん (アウアウ Sa1f-oo3f)2016/07/08(金) 23:51:37.51ID:RJKc3x7Ha
>>361
reverse_iteratorのコンストラクタがexplicitだからじゃね
0364デフォルトの名無しさん (ワッチョイ 237b-Bfmi)2016/07/09(土) 00:13:03.36ID:buv4Rqly0
>>361
return には値を与えてください
0365デフォルトの名無しさん (ワッチョイ 5be7-3Gy/)2016/07/09(土) 01:19:22.76ID:FYwNyXTu0
テンポラリバリューの値取って何するんだろう。
0366デフォルトの名無しさん (ワッチョイ efcc-oo3f)2016/07/09(土) 01:43:23.98ID:GFJ5/r//0
クラスメンバの記述の後ろに throw で予め例外記述しておくのもよくわからん
0367デフォルトの名無しさん (ワッチョイ efcc-oo3f)2016/07/09(土) 02:25:38.34ID:GFJ5/r//0
>>361
それreturnした瞬間にコンテナ自体がお釈迦になるやろ
0368デフォルトの名無しさん (アウアウ Sa1f-uVi+)2016/07/09(土) 02:28:10.37ID:OBptfGOha
煽れば情報をただで引き出せると思わないでください。不愉快です
0369デフォルトの名無しさん (ワッチョイ 5be7-3Gy/)2016/07/09(土) 02:41:14.74ID:FYwNyXTu0
>>368
貴方の言動が不愉快です。
0370デフォルトの名無しさん (ワッチョイ 5b7b-Pl7u)2016/07/09(土) 05:15:58.25ID:T8+GTzYr0
>>361
std::reverse_iteratorはiteratorをreverse_iteratorに勝手に変換してくれるものではないからだよ
そんな魔法はない
リファレンスもエラーメッセージも読めないんじゃC++なんてやめたほうがいいよ

最近妙に湧いてる無用に{}使うやつはみんなバカ
0371デフォルトの名無しさん (ワッチョイ 970f-UmxN)2016/07/09(土) 05:33:59.55ID:Nk7PlXct0
>>361
explicitて書いてあるやないか
どーに目ぇつけとんじゃボケ
気ぃつけんかい
0372デフォルトの名無しさん (ワッチョイ 4763-oo3f)2016/07/09(土) 07:35:21.02ID:cNqa9fRP0
>>364
お前のコーディングスタイルを押しつけられても
0373デフォルトの名無しさん (アウアウ Sa1f-uVi+)2016/07/09(土) 07:50:41.11ID:OBptfGOha
いきなり実践に及んで阿呆なコード書いて動きませんって泣きつく前に、先ず禿本一通り読めよ
0374デフォルトの名無しさん (ワッチョイ 83e2-Bfmi)2016/07/09(土) 07:52:15.50ID:x6RnoRNv0
constの仕様がないほうがバグが減るよな。
0375デフォルトの名無しさん (ワッチョイ 4763-oo3f)2016/07/09(土) 08:15:57.76ID:cNqa9fRP0
>>361
規格の以下を総合するとそうなる
6.6.3The return statement段落2
8.5Initializer段落15
12.3.1Conversion from constructor段落2
0376デフォルトの名無しさん (ワッチョイ a7cb-Bfmi)2016/07/09(土) 09:16:37.56ID:ZtFVqNou0
>>364
>365
>367
>373
誰もそんな事は聞いてませんし問題にしてません

>>362
説明になってないです

>>370
もうちょいがんばれ

>>363
>>371
>>375
これが意味のある回答ってやつです
他のアホどもは反省してください
0377デフォルトの名無しさん (ブーイモ MMbf-oo3f)2016/07/09(土) 10:07:29.54ID:1kfJJwsoM
>376
人に教えをこう立場であることを理解しろ
0378デフォルトの名無しさん (ワッチョイ 5b7b-Pl7u)2016/07/09(土) 10:54:19.05ID:T8+GTzYr0
なにが「もうちょいがんばれ」だよ
Iteratorを引数として取るコンストラクタがexplicitな「意味」をわざわざ書いてやったのに
return std::vector<int>().rbegin(); ならコンパイル通るだろ
どうでもいいけど無駄な{}や空白を使うなバーカ
0379デフォルトの名無しさん (ワッチョイ 837b-kN9e)2016/07/09(土) 11:01:13.46ID:JvlKE5OT0
実にc++er らしいやり取り。
0380デフォルトの名無しさん (スプー Sdbf-oo3f)2016/07/09(土) 11:08:30.93ID:OvnbLC0id
>>378
つくづくアホの見本ですね
コンパイルを通す方法は聞いてないのです
一回言ってわからない人は何回言ってもダメですね
0381デフォルトの名無しさん (ワッチョイ db9b-oo3f)2016/07/09(土) 11:10:20.64ID:cv8lXTF00
>>377
スルーできないバカがいっぱいだから煽る方が効率的なのはしょうがない
悔しかったらスルーしてみろ
0382デフォルトの名無しさん (ワッチョイ 837b-kN9e)2016/07/09(土) 11:20:22.24ID:JvlKE5OT0
これが効率的?
本気でそう思ってるならちょっと。。
0383デフォルトの名無しさん (アウアウ Sa1f-oo3f)2016/07/09(土) 11:22:46.74ID:hsb7nXH/a
暇つぶしの効率化w
0384デフォルトの名無しさん (ワッチョイ 4763-oo3f)2016/07/09(土) 11:37:58.35ID:cNqa9fRP0
「答えてみろ」と言わんばかりのおもむろな釣りに対し
質問者の説明すら無視した>>365>>367のうんこレスや
>>364のようなとんちんかんなレスをしたら
罵られても仕方ないだろう
0385デフォルトの名無しさん (ワッチョイ 837b-esBB)2016/07/09(土) 11:47:33.78ID:3CUWSYwC0
他のスレもまあまあ見てるけどこんな風な流れになるのC++スレに限らんよ
0386デフォルトの名無しさん (ワッチョイ 5b7b-Pl7u)2016/07/09(土) 12:49:04.40ID:T8+GTzYr0
>>380
378を読んでコンパイルを通す方法を教えてると解釈したお前はアスペ
もういいから荒らしは消えろカス
0387デフォルトの名無しさん (ワッチョイ a7cb-Bfmi)2016/07/09(土) 12:59:22.41ID:ZtFVqNou0
>>370
explicitという単語を明示的に(explicitだけに)出せない当たり回答者としては三流ですね
指摘されてようやく出てくるようでは遅いです。
説明する気がないなら帰っていただいて結構ですので
0388デフォルトの名無しさん (ワッチョイ 4763-oo3f)2016/07/09(土) 13:05:53.32ID:cNqa9fRP0
>明示的に(explicitだけに)
>明示的に(explicitだけに)
>明示的に(explicitだけに)
0389デフォルトの名無しさん (ワッチョイ 5b7b-Pl7u)2016/07/09(土) 13:18:52.66ID:T8+GTzYr0
IDコロコロなゴミカスが何か言ってる
0390デフォルトの名無しさん (ワッチョイ 478b-3Gy/)2016/07/09(土) 14:54:32.16ID:PBlPBx/A0
質問
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)タイプの変更が入り混じることが必至
0391デフォルトの名無しさん (ワッチョイ 478b-3Gy/)2016/07/09(土) 15:05:04.21ID:PBlPBx/A0
んまー要素の個数をsize_tからintにしたらしたで、push_back()時等に要素数が
 std::numeric_limits<int>::max() (ていうかINT_MAX
以下かどうかチェックした方が良い気がするので、
実はそういうチェック付きのstd::vector<T>のwrapperを手で書いた方が良い?
0392デフォルトの名無しさん (ワッチョイ d37b-oo3f)2016/07/09(土) 15:08:33.52ID:gcTQBWQE0
全うなコンパイラなら適切なオプション設定すれば、unsignedが0以上か調べるような無意味な比較は指摘してくれるんじゃないの?
0393デフォルトの名無しさん (ワッチョイ ef02-Bfmi)2016/07/09(土) 15:15:04.86ID:fXkb1tk70
intで収まらない巨大な配列を使うときだけ個別に対処すればいい
0394デフォルトの名無しさん (ワッチョイ 237b-Bfmi)2016/07/09(土) 15:45:04.35ID:buv4Rqly0
>>372
スタイルの話ではありません
0395デフォルトの名無しさん (ワッチョイ 4763-oo3f)2016/07/09(土) 15:58:46.21ID:cNqa9fRP0
ほう、では何だというのかね?
値を持たないbraced-init-listをreturnのオペランドに書くなと他人に押しつける意図は?
0396デフォルトの名無しさん (ワッチョイ 977b-cFDw)2016/07/09(土) 16:18:37.10ID:e7wK9RSW0
>>390
明示的にキャストする必要ある?
0397デフォルトの名無しさん (ワッチョイ 237b-Bfmi)2016/07/09(土) 17:08:53.73ID:buv4Rqly0
>>395
だから、値を与えてくださいといっている
0398デフォルトの名無しさん (ワッチョイ 9733-oo3f)2016/07/09(土) 17:42:49.14ID:SM0qakfh0
>>390
できないねー。

正論を言ってしまうと、配列のインデクスに使う型はsize_t一択なので、然るべき変換は必要だと思う。
毎度書くか、一つの変換関数を作って通すかは個人の自由だけどね。
0399デフォルトの名無しさん (ワッチョイ 9733-oo3f)2016/07/09(土) 17:50:56.77ID:SM0qakfh0
>>391
おっと、回答が出てるやん。
俺はそうしてるよ。
0400デフォルトの名無しさん (ワッチョイ 4763-oo3f)2016/07/09(土) 20:08:31.82ID:cNqa9fRP0
>>397
差し出がましいようだが、知能発達の障害は生きてて辛いだろうし周りも不幸だ。
自分の生命を絶つという選択肢も有っていいと思うぞ。
「値を与えてください」と意味不明なレスを繰り返すだけなんて悲しすぎすぎる
0401デフォルトの名無しさん (ワッチョイ 4763-oo3f)2016/07/09(土) 20:13:32.28ID:cNqa9fRP0
>>398
>配列のインデクスに使う型はsize_t一択
不勉強ながら存じませんでした
なぜsize_t一択なのですか?
0402片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK9f-fi14)2016/07/09(土) 20:21:05.92ID:Mz5tnssEK
>>401
符号付きだと、1ビット無駄になる。
64ビット環境でもサイズの制限が少ない。
0403デフォルトの名無しさん (ワッチョイ d37b-oo3f)2016/07/09(土) 20:32:45.23ID:gcTQBWQE0
機械的に置換して済ませようとする癖に、intとsize_tの切り分けがどうとか気にするとか。
intで配列アクセスしている時点でそもそもまともな切り分けがされていないだろうに。
置換して問題のあるところはすべて修正すると言う以外にまともな解決策はない。
0404デフォルトの名無しさん (ワッチョイ 9733-oo3f)2016/07/09(土) 21:09:54.73ID:SM0qakfh0
>>401
まず、配列で符号付きのインデクスって、通常無いでしょ?
特殊用途ではありそうだけど、ほとんどの場合バグになるだけだし。
で、標準ライブラリがsize_t押しなので、使わない手はないでしょ?って感じ。

ただ、int→size_tは暗黙変換可能なので、制限を見切った上で使ったりはするけど。
0405デフォルトの名無しさん (ワッチョイ 237b-Bfmi)2016/07/09(土) 21:36:25.11ID:buv4Rqly0
>>400
煽ることで情報をひきだそうとする卑しい奴にはこれで十分なんですよ。
0406デフォルトの名無しさん (ワッチョイ 237b-Bfmi)2016/07/09(土) 21:38:40.57ID:buv4Rqly0
>>404
降順でループさせる終了判定をラクしたいだけでしょ
0407デフォルトの名無しさん (ワッチョイ b37b-zDc6)2016/07/09(土) 21:51:18.43ID:IyKD781m0
>>404
なんだ、まぐれでsize_t一択って言ってたのか
0408デフォルトの名無しさん (ワッチョイ 478b-3Gy/)2016/07/09(土) 22:01:28.16ID:PBlPBx/A0
レス�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とする必要があるかもしれんが
それらを使う立場であるビジネスロジック側まで巻き着込まれるべきとする根拠は無い希ガス、
0409デフォルトの名無しさん (ワッチョイ 9733-oo3f)2016/07/09(土) 22:14:33.91ID:SM0qakfh0
>>408
それでいいんじゃね?
どう思って、どう行動するかは個人の自由。
0410デフォルトの名無しさん (ワッチョイ f3a1-WQfs)2016/07/09(土) 22:20:41.66ID:DWkJX5X40
16ビットのアプリケーションをターゲットにする場合、配列のインデクスにlongを使ったら警告される
0411デフォルトの名無しさん (ワッチョイ ef02-Bfmi)2016/07/09(土) 22:36:30.14ID:fXkb1tk70
普通はめんどくさいからみんなintだよ
使い分けなんて考えてない
intの範囲を超えるときだけアドリブで対処する
0412デフォルトの名無しさん (ブーイモ MMbf-oo3f)2016/07/09(土) 22:40:42.98ID:Cwu0vuExM
>>411
こら、自分の考えを普通とか言うな
俺の職場ではlongが普通
かなりイラッとさせられた
0413デフォルトの名無しさん (ワッチョイ 5b7b-Pl7u)2016/07/09(土) 22:52:41.09ID:T8+GTzYr0
符号付きと符号無しを比較したらワーニング出るでしょ
もちろんワーニングレベル設定にもよるけど
0414デフォルトの名無しさん (ワッチョイ 5b7b-Cxy9)2016/07/09(土) 23:01:11.88ID:whD12s8T0
なんでもできちゃう低水準言語においてセキュアコーディングの意識は
もはや必須だと思っていたけどまだこんなにも意識が低い人がいるのか
符号無し整数は問題ないけど符号付き整数のオーバーフローは未定義動作であるとか
知らないからなんでも適当にintとか使ってるんだろう
0415デフォルトの名無しさん (ワッチョイ efcc-oo3f)2016/07/09(土) 23:11:06.59ID:mCL5F7kx0
>>411
おまえみたいなのがいるから後々収集つかなくなってくるんだ!!
0416デフォルトの名無しさん (ワッチョイ 237b-Bfmi)2016/07/09(土) 23:11:31.13ID:buv4Rqly0
longでOKとか思われてもなぁ。
LLP64環境だったらどないすんねんと。
ptrdiff_tとかつかえよ
0417デフォルトの名無しさん (ワッチョイ 837b-esBB)2016/07/09(土) 23:17:24.22ID:3CUWSYwC0
longとか使いどころが解らん
普段はint or size_t で大きさを意識しなきゃいけない所は(u)intxxx_tとか使うぐらい
0418デフォルトの名無しさん (ワッチョイ 970f-UmxN)2016/07/09(土) 23:36:08.18ID:hbg/zns40
intmax_tを使うかmpz_classを使うか
人それぞれでいいだろ
0419デフォルトの名無しさん (ワッチョイ 977b-cFDw)2016/07/09(土) 23:50:50.65ID:e7wK9RSW0
添字として使ったらどうせsize_tに暗黙キャストされるんじゃないの?
0420デフォルトの名無しさん (ワッチョイ 5be7-3Gy/)2016/07/10(日) 00:04:48.46ID:dveZE7kz0
size_tはアーキテクチャのbit数にマッチするようにコンパイラさんが図ってくれるからsize_tを使おう。
0421デフォルトの名無しさん (ワッチョイ 5bc9-oo3f)2016/07/10(日) 01:11:24.42ID:9l5lNFa80
unsigned は極力使うなという教えもある。
0から減算すると大きな正の数になるという直感に反する挙動により、
バグの温床になりやすい。

だから配列のサイズはともかく添え字アクセスはsignedの方がいい。
そもそもsize_tって名前からしてサイズ用途だろ。
これをインデックス用途に流用してるのがそもそも悪い。
0422デフォルトの名無しさん (ワッチョイ 9733-oo3f)2016/07/10(日) 01:16:44.87ID:OTBSIlSO0
>>421
ゼロから減算する時点でインデクス用途ではバグなんだが…
0423デフォルトの名無しさん (ワッチョイ bf6c-5751)2016/07/10(日) 01:18:12.17ID:8/KxAQ5o0
いやインデクスでも巻き戻したい時とかあるじゃん?
0424デフォルトの名無しさん (ワッチョイ 5be7-3Gy/)2016/07/10(日) 01:19:28.47ID:dveZE7kz0
アンダーフローって言葉がありまして。。。
unsigned ならif一個でいいけどsingnedは2個書かないといけない。
std::size_t x;
if(x>=lim) return false;
0425デフォルトの名無しさん (ワッチョイ 9733-oo3f)2016/07/10(日) 01:21:24.00ID:OTBSIlSO0
いや、だから「ゼロから」減算するのがバグって言ってるの…
0426デフォルトの名無しさん (ワッチョイ 5bc9-oo3f)2016/07/10(日) 01:22:06.10ID:9l5lNFa80
>>422
末尾から順にアクセスする場合とかはあるよ。
普通にコーディングしたら、ループ後にカウンタが-1になるから。
どっかの有名な本でもこの例でunsignedは良くないと載ってた。
0427デフォルトの名無しさん (ワッチョイ 5bc9-oo3f)2016/07/10(日) 01:26:28.83ID:9l5lNFa80
>>425
それ言ったら
for (i=0; i < length; i++) というコーディングも駄目になってしまう。
最後にiは範囲外の値になってループを抜けるのだから。
0428デフォルトの名無しさん (ワッチョイ d3a3-oo3f)2016/07/10(日) 01:28:22.97ID:f4MF0Zqn0
Googleの スタイルガイドにもあるね
http://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で回しちゃうな
0429デフォルトの名無しさん (ワッチョイ 5b7b-Cxy9)2016/07/10(日) 01:55:02.05ID:Hf6Ci9f/0
for (unsigned int i = foo.Length()-1; i >= 0; --i) ...

この書き方がforの再初期化を必ず使わなきゃいけないという頭カチカチの発想なだけで

for (unsigned int i = foo.Length(); i > 0; ) {
--i;
...

こうすればいいだけ
foo.Length()-1 を不自然に思わないのがそもそもおかしい
0430デフォルトの名無しさん (ワッチョイ 9733-oo3f)2016/07/10(日) 01:55:24.79ID:OTBSIlSO0
>>426
知ってる。
>>427
その通りだと思う。

で、俺のレスのどこに不満なの?
0431デフォルトの名無しさん (ワッチョイ 9733-oo3f)2016/07/10(日) 01:56:41.26ID:OTBSIlSO0
>>429
まぁ、そうだけど、それはさすがに一般的ではないような…
0432デフォルトの名無しさん (ワッチョイ 9733-oo3f)2016/07/10(日) 02:00:37.14ID:OTBSIlSO0
>>429
俺ならこう書くかな。
批判は受け付ける。

unsigned int i = foo.Length();
while (i--) ...
0433デフォルトの名無しさん (ワッチョイ 5bc9-oo3f)2016/07/10(日) 02:02:03.48ID:9l5lNFa80
>>429
そのコードの危険性を知っている人はそうするだろうけど、
末尾から要素を遡っていくコードを初めて書く人は、
正順の場合からの類推でコードを書いてしまうんじゃないかな?

こうすればいいというのは、どんな事にも言えることだけど、
人間はミスしやすいという前提のもとでコーディングすべきだからね。
それと、あくまでそれは最も単純化されたケースであって、
もっと複雑なケースになると気づかないかもしれなk。

もちろんunsignedを使わないことによるデメリットもある。
そのメリット・デメリットを天秤に掛けて、Googleはunsignedは
デメリットが上回ると判断したということ。これが唯一正解というわけでもない。
0434デフォルトの名無しさん (ワッチョイ 9733-oo3f)2016/07/10(日) 02:10:13.12ID:OTBSIlSO0
>>428
いま原文読んだけど、
When appropriate, you are welcome to use standard types like size_t and ptrdiff_t.
とも書いてあるね。

配列のインデクスに使うなら適切な用途じゃないかな?

イテレータやrange base使えるなら俺も使うなー。
0435デフォルトの名無しさん (ワッチョイ ef02-Bfmi)2016/07/10(日) 02:13:25.37ID:P9VxqMIa0
VCのスペニットではfor (int i = length - 1; i >= 0; i--)がデフォで入るようになっている
MSでもintなんじゃないの
0436デフォルトの名無しさん (ワッチョイ 5be7-3Gy/)2016/07/10(日) 02:18:41.58ID:dveZE7kz0
>>435
そこはINTにしないと、0の時の判断ができない。
インデックス0が漏れないようにintにしないといけない。
0437デフォルトの名無しさん (ワッチョイ 4375-19Go)2016/07/10(日) 02:24:26.73ID:2LXVtN9I0
>>429
普通、こうだろ
for (unsigned int i = length; --i < length;)
0438デフォルトの名無しさん (ワッチョイ 5b6f-g4/6)2016/07/10(日) 02:26:05.46ID:VTpXzLJa0
--iとか絶対使いたくないわwwww
0439デフォルトの名無しさん (ワッチョイ ef02-Bfmi)2016/07/10(日) 02:34:42.29ID:P9VxqMIa0
曲芸大会じゃねえぞ
0440デフォルトの名無しさん (ワッチョイ 5b7b-Cxy9)2016/07/10(日) 02:37:29.56ID:Hf6Ci9f/0
終了条件がアンダーフローとかそういうのマジやめようってw
0441デフォルトの名無しさん (アウアウ Sa1f-uVi+)2016/07/10(日) 05:14:44.32ID:iF0L9ZkEa
もう境界値とかダウンカウンタとか、問題の本質的ロジックからかけ離れた雑多なことにウダウダと煩わされていつまでも話が進まないで禿げていくのはうんざりだ! 俺は関数型に行くぞ! 留めるな!
0442デフォルトの名無しさん (ワッチョイ 4763-oo3f)2016/07/10(日) 06:06:48.11ID:S+kSiVGt0
>>402,404
回答ありがとう。
他の言語で符合付きや32ビット整数を使っ定留ものが有るのに一択とまで言えるものかと思った。
標準ライブラリは確かに符合無しに統一されているけど、配列に関しては
*((E1)+(E2))のポインター演算なので符合有無は規定されていないような
0443デフォルトの名無しさん (オッペケ Sr1f-oo3f)2016/07/10(日) 06:30:33.91ID:yNmq0uE7r
そういえばargcってintだよな
0444デフォルトの名無しさん (オッペケ Sr1f-oo3f)2016/07/10(日) 06:33:12.88ID:yNmq0uE7r
--iはキャッシュがミスヒットして遅くなりそうだ
0445名無しさん@そうだ選挙に行こう! Go to vote! (ワッチョイ 375b-cFDw)2016/07/10(日) 08:38:47.33ID:2ZoGWH1d0
パイプラインな
0446名無しさん@そうだ選挙に行こう! Go to vote! (ワッチョイ 5b7b-Cxy9)2016/07/10(日) 12:41:52.96ID:Hf6Ci9f/0
誰か止めてあげてよ…>>441の脱毛を
0447名無しさん@そうだ選挙に行こう! Go to vote! (ワッチョイ 4763-oo3f)2016/07/10(日) 12:51:21.78ID:S+kSiVGt0
気にしない心を養うしかない
0448名無しさん@そうだ選挙に行こう! Go to vote! (ワッチョイ ef02-Bfmi)2016/07/10(日) 13:06:39.09ID:P9VxqMIa0
専ブラを削除しろ
0449名無しさん@そうだ選挙に行こう! Go to vote! (ワッチョイ 030a-UmxN)2016/07/10(日) 13:16:51.17ID:eFNyzmAJ0
あの程度で曲芸とか冗談は顔だけにしろよまったく
話にならんわ
0450デフォルトの名無しさん (ワッチョイ 837b-kN9e)2016/07/10(日) 20:00:57.50ID:aQVpsFu00
いや、副作用のある動作と条件比較を混ぜるなっていうありきたりの話だと思うが。。
0451デフォルトの名無しさん (ワッチョイ b37b-zDc6)2016/07/10(日) 20:41:43.58ID:Gr2UhEX/0
オレ様ルールを強要し始めたぞ
0452デフォルトの名無しさん (ワッチョイ 030a-UmxN)2016/07/10(日) 21:24:54.34ID:eFNyzmAJ0
へー、for文に副作用を混ぜるなってかwwwwwwwwwwwww
0453デフォルトの名無しさん (ワッチョイ 478b-3Gy/)2016/07/10(日) 22:21:49.43ID:wRb2B0iG0
つか配列アクセスの度にカウンタのオーバーフロー(or アンダーフロー)の
境界条件を異様に意識したトリッキーなループを繰り返し書く
(ことを他人にも強いる)のもバグの元だと思うので、
配列にデータを追加する(or 削除する)際に要素数が境界条件にならないように
水際作戦でたたいて入国後のドメインにおいて自然なループが問題なく動くことを保証する、
というのが精神衛生的に正しい

つか汎用ライブラリの設計ならともかく、普通のアプリレベルのプログラミングなら
配列のサイズの上限を見積もれるはず…(ていうかそれしないのは設計の手抜き
0454デフォルトの名無しさん (ワッチョイ 030a-UmxN)2016/07/10(日) 22:58:10.62ID:eFNyzmAJ0
オーバーフローでぐらつくのは不等号による判定だろ
標準でさえ<algorithm>の関数はそんなことしてねーっつの
0455デフォルトの名無しさん (ワッチョイ 478b-3Gy/)2016/07/10(日) 23:20:23.13ID:wRb2B0iG0
>>454
イテレータとend()との等値比較のことなら、それは不等号による判定と同じ問題
(「最終要素の次」の要素へのリニアなアクセスが必須)を抱えており問題解決になっていないのでは…
0456455 (ワッチョイ 478b-3Gy/)2016/07/10(日) 23:30:06.36ID:wRb2B0iG0
訂正
誤: アクセス
正: アドレッシング
0457デフォルトの名無しさん (ワッチョイ 47cd-Bmei)2016/07/11(月) 00:57:25.60ID:C7uLT2ni0
TCHAR* からstd::wstring::iteratorへ変換ってできませんか?
TCHAR* pbegin;
TCHAR* pend;
std::wstring ws(pbegin,pend);//わざわざstd::wstringを作って
foo(ws.begin(),ws.end());//に渡しています。
0458デフォルトの名無しさん (ワッチョイ efcc-oo3f)2016/07/11(月) 01:35:27.15ID:AU3jceXp0
馬鹿は知らなくていい
0459片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK5f-fi14)2016/07/11(月) 01:43:19.60ID:htK4V8FQK
>>457
ポインターも一種のイテレータだから
std::wstring foo(pch, pch + 100);
0460デフォルトの名無しさん (ワッチョイ 47cd-Bmei)2016/07/11(月) 02:01:42.30ID:C7uLT2ni0
>>459
なんで質問と同じことをかいているのですか?
0461片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK5f-fi14)2016/07/11(月) 02:14:57.83ID:htK4V8FQK
ターゲットのテンプレート関数に対して、std::wstring::iterater以外にWCHAR*も渡せるはず。
渡せないならターゲットの仕様がおかしい。
0462デフォルトの名無しさん (ワッチョイ 47cd-Bmei)2016/07/11(月) 03:02:41.43ID:Jemv0IH60
>>461
boostなんですが・・・
0463デフォルトの名無しさん (ワッチョイ 478b-3Gy/)2016/07/11(月) 07:21:29.26ID:jEhnOLsx0
>>454
スマンイテレータとend()との等値比較なら問題無かった
配列が論理的メモリ空間の後端に接した場合のみ問題となり得るが、
多分Cの配列に関する「最終要素の次のポインタは合法(記憶モード」というのと
同じような規定がC++にもあると思うので、だったらそういうケースは無い

>>457
TCHARを使うのならstd::wstringよりstd::basic_string<TCHAR>の方が適切なのでは…
0464デフォルトの名無しさん (オッペケ Sr1f-oo3f)2016/07/11(月) 08:13:42.33ID:xAqvosA3r
>同じような規定がC++にもあると思うので
はいはいありますよっと
5.7 Additive operators段落5
0465デフォルトの名無しさん (スプー Sdbf-oo3f)2016/07/11(月) 11:14:36.90ID:pIByFA2bd
char str[32];
…
throw std::runtime_error(str);

ローカル変数をruntime_errorに渡してスローしても平気ですか
0466デフォルトの名無しさん (ワッチョイ efcc-oo3f)2016/07/11(月) 11:20:49.90ID:AU3jceXp0
ズブの素人かよ
0467デフォルトの名無しさん (アウアウ Sa1f-uVi+)2016/07/11(月) 12:20:07.96ID:FqLj7DMqa
>>465
貴方のために特別にスレを用意させていただきました。お楽しみください

【初心者歓迎】C/C++室 Ver.98【環境依存OK】
http://echo.2ch.net/test/read.cgi/tech/1464601947/
0468デフォルトの名無しさん (ワッチョイ 4763-oo3f)2016/07/11(月) 20:15:14.30ID:LmFbrJjH0
>>461
>渡せないならターゲットの仕様がおかしい。
おかしいのは仕様でなく
fooがテンプレート関数と勝手に思い込んでしまうお前ではないのか
0469片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KK5f-fi14)2016/07/11(月) 21:29:40.88ID:htK4V8FQK
>>468
確かに。粗暴な酔っぱらいと十年間口喧嘩して
たら、強迫観念の強い人格が形成されてしまった。
治しようがない。
0470デフォルトの名無しさん (ワッチョイ 333c-oo3f)2016/07/13(水) 11:39:53.69ID:Bfp969pa0
クソコテはまずアスペを治すべき
イミフメなカタコトレスと
レスを読まない脊髄反射がおおすぎる
0471デフォルトの名無しさん (ブーイモ MMbf-oo3f)2016/07/13(水) 13:44:07.01ID:i/eveQdpM
つーか、条件をよく理解しないで
思い込みでどんどん進めるのはバグの元なのだが、
偉そう書いてる糞小手は本当にプログラムかけるんかと
0472デフォルトの名無しさん (ワッチョイ 2f66-pZ75)2016/07/13(水) 13:49:29.88ID:W63IGgJQ0
フォントのアウトラインからインラインを作成するにはどのような
アルゴリズムにするのが良いですか?
0473デフォルトの名無しさん (ワンミングク MMbf-esBB)2016/07/13(水) 14:13:48.11ID:A4PM+2wNM
>>471
気になるならGitHubで公開してるみたいだから見たら?
0474デフォルトの名無しさん (ブーイモ MM9f-oo3f)2016/07/13(水) 17:48:56.36ID:PYU+1FcHM
>>473
どうでもいい
0475デフォルトの名無しさん (ワッチョイ 4763-oo3f)2016/07/13(水) 21:14:23.15ID:pLABqRcL0
コテハン=自己顕示欲旺盛
つまりクソコテとの対話は最低限に抑えなるべくスルーするのが吉
0476デフォルトの名無しさん (ワッチョイ 6f16-UmxN)2016/07/13(水) 21:47:07.72ID:ronhkAK10
コテハン叩きは出てけ
それが2chの方針だ
0477デフォルトの名無しさん (アウアウ Sa1f-uVi+)2016/07/13(水) 22:01:23.60ID:4HOrELjda
自身の希望を2chの総意であるかのように大きく見せて騙る、虎の威を借る狐は詭弁の典型
0478デフォルトの名無しさん (ガラプー KK5f-fi14)2016/07/13(水) 23:06:13.49ID:CH15Mi9JK
コテハンは全員出ていけ!!!
0479デフォルトの名無しさん (ガラプー KK5f-fi14)2016/07/13(水) 23:09:44.40ID:CH15Mi9JK
糞小手のくせに生意気なんだよ!
0480デフォルトの名無しさん (ワッチョイ 83a6-Bfmi)2016/07/13(水) 23:34:08.11ID:s9xlcL0i0
糞コテとかひとくくりにするなよ、コテハンみんながみんな脳みそド腐れゲロブタ片山みたいな奴ばっかじゃ…
と思ったけどム板のコテハンはキチガイしか居ねえやそういえば
0481デフォルトの名無しさん (ガラプー KK5f-fi14)2016/07/13(水) 23:48:50.78ID:CH15Mi9JK
>>480
今、団子さんを馬鹿にしたね! 訴えてやる!
0482デフォルトの名無しさん (ガラプー KK6b-7GzA)2016/07/14(木) 00:41:55.53ID:5AZo8uCyK
小手のいないム板

沈黙の夏
0483デフォルトの名無しさん (ワッチョイ 3ec0-jb5v)2016/07/14(木) 05:38:06.25ID:1nxFg35t0
スティーブンセガール主演
0484デフォルトの名無しさん (ワッチョイ f08b-L3Fl)2016/07/17(日) 01:44:56.32ID:RtgpWl6x0
味わい深いコード貼る(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])と似たような機能(配列の要素数を返す)だが
配列ではなくてポインタを渡したときコンパイル時エラーになる点が偉い
0485デフォルトの名無しさん (ワッチョイ f063-4wno)2016/07/20(水) 22:34:52.62ID:pWu0Kkne0
>>465
プログラムにも依るがまあ概ね問題ないだろう
0486デフォルトの名無しさん (スッップ Sd5f-eQ6f)2016/07/22(金) 13:23:33.19ID:sQegyotSd
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が呼ばれるようにするには
どうすればいいですか
0487デフォルトの名無しさん (ワッチョイ f7fe-4/kG)2016/07/22(金) 13:38:25.76ID:Kn/DLmV30
if(sizeof...(args) == 0) hoge<>();
else hoge( args ... );
0488デフォルトの名無しさん (ワッチョイ e763-eQ6f)2016/07/22(金) 13:53:10.65ID:hA1h7uZB0
ハゲの中身を
hoge<>( args ... );
0489デフォルトの名無しさん (スッップ Sd5f-eQ6f)2016/07/22(金) 13:58:27.57ID:sQegyotSd
struct hoge
{
hoge()
{
printf( "A\n" );
}
template< typename ... Args > hoge( Args&& ... args )
{
printf( "B\n" );
}
};

template< typename ... Args > void hage( Args&& ... args )
{
hoge( args ... );
}

なるほどわかりました。
この場合はどうやって呼び分ければいいでしょうか。
0490デフォルトの名無しさん (スプッッ Sd5f-eQ6f)2016/07/22(金) 14:14:11.27ID:0LYPsk9md
どうでもいいけど std::forward つけろ
0491デフォルトの名無しさん (スッップ Sd5f-eQ6f)2016/07/22(金) 14:17:45.83ID:sQegyotSd
>>490
必要ないので付けません
0492デフォルトの名無しさん (スプッッ Sd5f-eQ6f)2016/07/22(金) 14:22:23.83ID:0LYPsk9md
あっそう
0493デフォルトの名無しさん (ワッチョイ e763-eQ6f)2016/07/22(金) 14:23:19.94ID:hA1h7uZB0
呼び出す技は見たことが無いな
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 ]
0494デフォルトの名無しさん (ワッチョイ 6f02-iqWO)2016/07/22(金) 20:05:14.67ID:Sc54Iv7K0
>>489
普通に引数無しでAが呼ばれるんだが何を困ってるんだ
0495デフォルトの名無しさん (スップ Sd5f-eQ6f)2016/07/22(金) 20:18:02.65ID:EwwqDHiTd
>>494
びい〜が呼びたい〜
0496デフォルトの名無しさん (ガラプー KKaf-/nZE)2016/07/22(金) 20:20:29.23ID:Ah0vbZMhK
>>495
hoge()
{
printf( "A\n" );
}
を消せ
0497デフォルトの名無しさん (ワッチョイ 6f02-iqWO)2016/07/22(金) 20:21:39.32ID:Sc54Iv7K0
>>495
どっちかしか呼ばれないに決まってるだろ
0498デフォルトの名無しさん (ワッチョイ e763-eQ6f)2016/07/22(金) 20:22:23.44ID:hA1h7uZB0
>引数無しでもBが呼ばれるようにするにはどうすればいいですか
 ↓
>引数無しでAが呼ばれるんだが何を困ってるんだ

回答者のオツムに困っているのかも知れん
0499デフォルトの名無しさん (ワッチョイ e763-eQ6f)2016/07/22(金) 20:25:49.83ID:hA1h7uZB0
>どうやって呼び分ければいいでしょうか
 ↓
>hoge() { printf( "A\n" ); } を消せ

やはり多くの回答者のオツムに問題が有るようだ
0500デフォルトの名無しさん (ワッチョイ e763-eQ6f)2016/07/22(金) 20:32:19.96ID:hA1h7uZB0
>Aが呼ばれるんだが何を困ってるんだ
 ↓
>びい〜が呼びたい
 ↓
>どっちかしか呼ばれないに決まってるだろ

どうしてこう、アスペが多いのか
0501デフォルトの名無しさん (ガラプー KKaf-/nZE)2016/07/22(金) 20:48:04.49ID:Ah0vbZMhK
template< typename T,typename ... Args > hoge(T& t, Args&& ... args )
{
printf( "B\n" );
}
0502デフォルトの名無しさん (ワッチョイ e763-eQ6f)2016/07/22(金) 20:55:48.11ID:hA1h7uZB0
>引数無しでもBが呼ばれるようにするにはどうすればいいですか
 ↓
>hoge(T& t, Args&& ... args ) { printf( "B\n" ); }
0503デフォルトの名無しさん (ガラプー KKaf-/nZE)2016/07/22(金) 21:00:49.83ID:Ah0vbZMhK
※未承認広告※
アベマテレビ見てね
0504デフォルトの名無しさん (ワッチョイ e763-eQ6f)2016/07/22(金) 21:04:39.12ID:hA1h7uZB0
呼び分ける方法が思いつかないので、タグで分けるしか無いのではないか
http://ideone.com/dzwKF2
0505デフォルトの名無しさん (アウアウ Sa0f-wUeg)2016/07/22(金) 21:56:50.43ID:CLk2GU9ka
ハゲをバカにする奴には答えない
0506デフォルトの名無しさん (ワッチョイ 6fcc-eQ6f)2016/07/22(金) 22:21:19.23ID:kYMBASaH0
なんでもかんでもアスペ扱いするヤツには答えない
0507デフォルトの名無しさん (ワッチョイ efa6-4/kG)2016/07/22(金) 22:55:11.08ID:3tjkacqM0
という答えをやるな ぼけ
0508デフォルトの名無しさん (ワッチョイ 6fcc-eQ6f)2016/07/22(金) 23:03:54.82ID:kYMBASaH0
という答えで十分
0509デフォルトの名無しさん (ガラプー KKaf-/nZE)2016/07/22(金) 23:14:19.37ID:Ah0vbZMhK
仲良くしようぜ
/////∩∩
*〜⊂ ̄ ̄(@_@)⊃
/⊂____⊃
0510デフォルトの名無しさん (ワッチョイ e763-eQ6f)2016/07/23(土) 03:40:37.38ID:EbL5LwDu0
なるほど。アスペは回答を期待されている質問文だと認識してしまうようだな
0511デフォルトの名無しさん (ワッチョイ ebe7-pFeQ)2016/07/23(土) 03:57:18.58ID:eW1MzkCP0
あなた……怠惰ですね。
0512デフォルトの名無しさん (ワッチョイ ef23-eQ6f)2016/07/23(土) 04:38:56.41ID:mN4MO6Sp0
>>511
ペテルギウスさん、ちーす!
0513デフォルトの名無しさん (ワッチョイ 6fcc-eQ6f)2016/07/23(土) 06:14:12.54ID:szJiLEKR0
>>504
テメェも設問にマトモに答えられないアスペだろ
0514デフォルトの名無しさん (アウアウ Sa0f-wUeg)2016/07/23(土) 10:42:37.96ID:iCoBongSa
不毛タイム
0515デフォルトの名無しさん (ワッチョイ e763-eQ6f)2016/07/23(土) 13:27:52.13ID:EbL5LwDu0
>どうすればいいですか
 ↓
>方法が思いつかないので、タグで分けるしか無いのではないか
 ↓
>テメェも設問にマトモに答えられないアスペ

本人に自覚はあったのは意外だが、まさかアスペの意味を理解していなかったとは
0516デフォルトの名無しさん (オッペケ Sr8f-eQ6f)2016/07/23(土) 18:37:17.39ID:AI9wBPX1r
ドラフト読んだけど名前空間std2が予約って何だよ
そんな名前予約すんなよ
0517デフォルトの名無しさん (ワッチョイ f37b-W23Y)2016/07/23(土) 18:55:28.37ID:A6FplB4j0
>>516
なんで?
0518デフォルトの名無しさん (オッペケ Sr8f-eQ6f)2016/07/23(土) 19:06:16.58ID:AI9wBPX1r
>>517
ワイがめっちゃ使っとるやろ!
0519デフォルトの名無しさん (アウアウ Sa0f-wUeg)2016/07/23(土) 20:19:25.17ID:iCoBongSa
代わりにstdII使って
0520デフォルトの名無しさん (ワッチョイ f37b-W23Y)2016/07/23(土) 22:36:57.48ID:A6FplB4j0
>>518
よくそんなすぐに被りそうな名前空間にする気になったよね。お前が。
0521デフォルトの名無しさん (ワッチョイ 6f02-iqWO)2016/07/23(土) 23:58:23.30ID:FCeIQ60g0
文字列くらい置換したらいいじゃん
0522デフォルトの名無しさん (ワッチョイ 6f02-iqWO)2016/07/24(日) 02:55:47.37ID:5sU7HzVD0
えすてぃーでぃーにに変えろ
0523デフォルトの名無しさん (ワッチョイ 6fcc-eQ6f)2016/07/24(日) 07:40:19.77ID:ykHvYHf10
mystdとかにしておけば良かったのに
0524デフォルトの名無しさん (ワッチョイ 5f7b-tmF6)2016/07/24(日) 07:44:38.65ID:eQVAbgyz0
standardの意味くらい調べてから命名すべきだったな
0525デフォルトの名無しさん (ワッチョイ efa6-4/kG)2016/07/24(日) 10:24:49.58ID:dMdy+PiO0
std 性病
i 陰部
o 肛門
.
h 変態
0526デフォルトの名無しさん (ワッチョイ 6fcc-eQ6f)2016/07/24(日) 10:36:24.01ID:ykHvYHf10
C覚えたての頃はスタジオHって暗唱していた
0527デフォルトの名無しさん (ワッチョイ 93a8-iqWO)2016/07/24(日) 11:40:16.61ID:eS/xf0XC0
#include <studio.h>
0528デフォルトの名無しさん (ワッチョイ efa6-4/kG)2016/07/24(日) 15:05:32.39ID:dMdy+PiO0
ios_base::sync_with_visual_studio();
0529デフォルトの名無しさん (ワッチョイ ff5b-eQ6f)2016/07/24(日) 15:13:21.04ID:9GVzysje0
質問です。
castってオーバーロードできますか?
クラスがintを返す時、(int)classの値を例えば0にしてみたいのです。
0530デフォルトの名無しさん (スプッッ Sd5f-eQ6f)2016/07/24(日) 15:37:58.41ID:BLnPFlx1d
>>529
http://ideone.com/S9NtzP
0531デフォルトの名無しさん (ワッチョイ ff5b-eQ6f)2016/07/24(日) 16:30:44.66ID:9GVzysje0
>>530
有難うございます。
0532デフォルトの名無しさん (ワッチョイ 6f17-eQ6f)2016/07/24(日) 22:18:42.32ID:OGjQDkhc0
>>526
おまおれ
0533デフォルトの名無しさん (スプッッ Sd5f-eQ6f)2016/07/25(月) 16:41:23.85ID:VyZR+Bn1d
std::listでrevers_iteratorを使ってリストの末尾から順番にeraseする
スマートな書き方を教えてください
forループも使ってください
0534デフォルトの名無しさん (オッペケ Sr8f-eQ6f)2016/07/25(月) 18:29:54.61ID:iOqkLQzxr
>教えてください

答えてみやがれです
の間違いやろ?
0535デフォルトの名無しさん (ワッチョイ ebe7-pFeQ)2016/07/25(月) 21:10:32.53ID:ojkGdUU90
eraseってリバースイテレータ取れないんだっけか?
0536デフォルトの名無しさん (ワッチョイ efa6-4/kG)2016/07/25(月) 21:33:58.48ID:05bqrx670
おかしいね
ランダムアクセスを要求される
0537デフォルトの名無しさん (ワッチョイ ef23-eQ6f)2016/07/25(月) 22:41:10.38ID:ty0wQR+A0
std::list<int> foo;

//適当にfooにつっこんで…

for (std::list<int>::reverse_iterator i = foo.rbegin(); i != foo.rend(); i = foo.erase(i))
 ;

とか、こんな感じじゃね?
試してないけど。
0538デフォルトの名無しさん (ブーイモ MM4f-eQ6f)2016/07/25(月) 22:42:44.23ID:k9lfHv/VM
>>536
双方向イテレータでないの?
0539デフォルトの名無しさん (スプッッ Sd5f-eQ6f)2016/07/25(月) 22:49:12.61ID:+lTMfES8d
>>537
できないです
0540デフォルトの名無しさん (ワッチョイ ef23-eQ6f)2016/07/25(月) 23:16:42.24ID:ty0wQR+A0
>>539
ありゃー。
じゃあ、
const_reverse_iterator つかうか、
更新式を foo.erase(i++) にするか、
かなあ?

PC使えりゃすぐにためすんだが…すまん。
0541デフォルトの名無しさん (ワッチョイ ef23-eQ6f)2016/07/25(月) 23:18:07.18ID:ty0wQR+A0
>>540
まちがえた。
foo.erase((i++).base())
かな。
0542デフォルトの名無しさん (ワッチョイ 8fd3-ElRI)2016/07/25(月) 23:20:33.13ID:dxtzmbYy0
>>539
https://ideone.com/wFVzOR
0543デフォルトの名無しさん (ワントンキン MMdf-eQ6f)2016/07/26(火) 22:34:57.25ID:SZ1z99USM
std::vectorの先頭ポインタ書き換える方法ありませんか?
double data[] = { 3, 4, 5, 6 };
std::vector<double> vec(4);
vec.data() = data;
みたいなことがしたいのですが…
0544デフォルトの名無しさん (ワッチョイ e763-eQ6f)2016/07/26(火) 22:40:11.45ID:xAh7+JRz0
有りません
0545デフォルトの名無しさん (ワッチョイ 1fa6-iqWO)2016/07/26(火) 23:03:27.06ID:BPIR2sef0
>>543
swapではダメなのか?
0546デフォルトの名無しさん (ワントンキン MMdf-eQ6f)2016/07/27(水) 00:38:36.13ID:TMT1qAgWM
>>545
やってみましたがダメでした
double*を引数で受け取って、インターフェースがstd::vector&の関数に渡したいんですよね
std::vectorをコンストラクトして、出来上がりをdouble*
にcopyしてるんですが、直接コピーできないかなと
0547デフォルトの名無しさん (ワッチョイ 6f02-iqWO)2016/07/27(水) 00:58:37.81ID:YZqh7UV50
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;
0548デフォルトの名無しさん (ワッチョイ ebc9-eQ6f)2016/07/27(水) 01:02:19.86ID:vduqjvt90
直接コピーできたらやばいけどね。
array_to_vector みたいなテンプレート関数を自分で作って、
普通にコピーするのがいいんじゃないの。
0549デフォルトの名無しさん (ワッチョイ ebe7-pFeQ)2016/07/27(水) 04:20:00.98ID:setK5v4U0
static const size_t N = 10;
double a[N]={0,};
std::vector<double> v(a,&a[N]);
って感じでやるのが手間なくていいかなぁと思うけど。
メモリ増えてまずい理由があるんなら明示してちょ。
0550デフォルトの名無しさん (ワッチョイ ebe7-pFeQ)2016/07/27(水) 04:24:51.25ID:setK5v4U0
そもそも、プログラム規約で変数の扱いを決めたらどうだ?
配列はVectorつかえとか。Cとの接着でもやってるのか?
0551デフォルトの名無しさん (アウアウ Sa0f-wUeg)2016/07/27(水) 05:16:16.71ID:2biil9ema
{0,};
0552デフォルトの名無しさん (ワッチョイ ebe7-pFeQ)2016/07/27(水) 05:16:50.95ID:setK5v4U0
何か間違ってるか?
0553デフォルトの名無しさん (ワッチョイ efa6-4/kG)2016/07/27(水) 08:53:15.11ID:MJRwHMiv0
>>547
それじゃvecがオブジェクトじゃなく関数になっちまう
0554デフォルトの名無しさん (ワッチョイ efa6-4/kG)2016/07/27(水) 08:57:23.32ID:MJRwHMiv0
そもそも
std::vector<double> vec { 3, 4, 5, 6 };
とできるし、
C++98なら
std::vector<double> vec(data, *(&data + 1));
だろ
0555デフォルトの名無しさん (ワッチョイ ebe7-pFeQ)2016/07/27(水) 09:00:45.37ID:setK5v4U0
>>554
あー、意図伝わってないね。
イテレータ渡しができたはずなんだけど、それでvectorにコピーを促せる。
ポインタだとできなかったっけ?
0556デフォルトの名無しさん (ワッチョイ ebe7-pFeQ)2016/07/27(水) 09:14:46.35ID:setK5v4U0
http://ideone.com/RS7Grd
こういう感じのことを言いたかった。
んで、メモリが増えることについて、問題があったら何が問題なのか明示してね。
と書いた。
0557デフォルトの名無しさん (スプッッ Sd5f-eQ6f)2016/07/27(水) 10:19:19.80ID:jeP9lH/Od
たぶん元の質問は各要素のコピーを避けてポインタを直接vectorに管理させたいんだろう。
けっこうめんどくさいと思う。
資源管理だけが目的ならstd::unique_ptr<double[]> を使えるんだが。
0558デフォルトの名無しさん (ワッチョイ efa6-4/kG)2016/07/27(水) 10:30:55.97ID:MJRwHMiv0
>>555-556
ごめん、言いたいことがわからない

554でC++98ならって書いたのはまさしくポインタだし
ビルトイン配列のイテレータはランダムなので
end(data)-begin(data)でサイズでるし
0559デフォルトの名無しさん (ワッチョイ eb7b-TH81)2016/07/27(水) 10:49:07.73ID:bkJFnNRE0
質問者はコピーが2回入るのを避けたいってことだろ
std::vectorじゃ無理だね
0560デフォルトの名無しさん (ワッチョイ ebe7-pFeQ)2016/07/27(水) 10:49:08.84ID:setK5v4U0
>>558
あーすまん。
C++98の部分。アドレス値個分を*(data+1)で初期化するのかと思った。
今回の&が何を意味してるかちょっと分からない。すまん。

>>557
俺もイリーガルな欲望だと思う。
普通にコピーして結果をゲットすれば割となんとでもなるんじゃ?と思った。
参照だから、改変された部分はもとに還元できるじゃないかなぁ。と。
0561デフォルトの名無しさん (ワッチョイ 6f02-iqWO)2016/07/27(水) 12:43:17.99ID:YZqh7UV50
>std::vectorの先頭ポインタ書き換える方法ありませんか?
つまりコピーせずに既存の配列のポインタを付け替えてvectorで管理できるようにしたいということだろ
標準の仕様では無理
どうしてもしたければ#define private publicとかして直接ポインタ変数を書き換えるしかない
できなくはないが全く保証の無いクソコードなので止めた方がいい
0562デフォルトの名無しさん (ワッチョイ f37b-W23Y)2016/07/27(水) 12:50:18.27ID:+xrdoiGB0
そもそも元の質問はスタックの配列として書いてるから、そのポインタを移植性のない方法を用いてvectorに持たせても動くわけがない
0563デフォルトの名無しさん (アウアウ Sa0f-wUeg)2016/07/27(水) 12:56:22.05ID:1uKZMVUBa
なぜそんなものが必要なのか、背景を説明すべき
0564デフォルトの名無しさん (スッップ Sd5f-eQ6f)2016/07/27(水) 13:32:29.18ID:/uUaaY2ed
void* operator new( std::size_t, const std::nothrow_t& );
でメモリ確保した場合
void operator delete( void*, const std::nothrow_t& );
で解放しないといけないのですか

nothrow無しのdeleteではだめですか
0565デフォルトの名無しさん (ワッチョイ 0b7b-37tH)2016/07/27(水) 14:09:25.84ID:vXr+Pj/Z0
カスタムアロケータで解放処理をスルーさせればvectorが破棄されても一応動かし続けられる
push_backで確保するときはあらかじめ用意しておいた配列のポインタを渡す
これでなんとか動かせる
0566デフォルトの名無しさん (ワッチョイ e33c-LCC3)2016/07/27(水) 15:50:50.47ID:mKq7JBSL0
プログラミングの勉強したくてC++始めてみたけどこれで何が作れるようになるのかさっぱり先が見えない
0567デフォルトの名無しさん (ワッチョイ ff6c-n759)2016/07/27(水) 16:00:57.45ID:fm/Ja6r70
C++は物が作れるようになるまで遠いから
なんか作りたかったらjavascriptとかpythonとかのがいいんじゃない
0568デフォルトの名無しさん (ワッチョイ 6fcc-eQ6f)2016/07/27(水) 16:05:21.07ID:dXpZD4uM0
まずはANSI-Cを覚えてからにしろよ
プラプラはお前にはまだエロ杉るぜ
0569デフォルトの名無しさん (ワッチョイ 239a-iqWO)2016/07/27(水) 16:35:05.51ID:G4O2c/AA0
>>566
とりあえず競技プログラミングに挑戦してみるとか?
0570デフォルトの名無しさん (スプッッ Sd5f-eQ6f)2016/07/27(水) 16:36:39.59ID:jeP9lH/Od
>>566
dllを作るとか?
0571デフォルトの名無しさん (ワッチョイ 775e-wAF5)2016/07/27(水) 17:30:05.08ID:7xqtEbgC0
>>566
勉強が目的なら他人の作ったものを再現する事から始めればいい
何か作りたくてやっているのならそれを目的にしたらいいけどな
>>570
なんのだよw
0572デフォルトの名無しさん (ブーイモ MM4f-eQ6f)2016/07/27(水) 17:30:08.16ID:1uyGul1zM
モチベーション維持したいならc#やjavaやswiftでguiアプリ作るほうがいいんじゃね?
0573デフォルトの名無しさん (ワッチョイ eb7b-TH81)2016/07/27(水) 17:38:57.14ID:bkJFnNRE0
>>565
カスタムアロケータでメモリ確保・解放をごまかしたとしても
ゼロ初期化処理は動いちゃうだろ
それとも何とかする方法あるの?
0574デフォルトの名無しさん (アウアウ Sa0f-wUeg)2016/07/27(水) 18:36:19.61ID:1uKZMVUBa
競技プログラミングにハマるプログラマのスレ 3
http://tamae.2ch.net/test/read.cgi/prog/1468710465/
0575デフォルトの名無しさん (ワッチョイ e763-eQ6f)2016/07/27(水) 20:03:59.79ID:QvOEp7Q70
>>564
知ってるくせに
0576デフォルトの名無しさん (ワッチョイ 478c-n759)2016/07/27(水) 22:49:06.89ID:bFup2hBp0
C++は万能ではあるんだが、小物アプリに使うには使いづらいってのがな……
俺はパフォーマンスが欲しい箇所かDLL組む際によく使ってるが
0577デフォルトの名無しさん (ワッチョイ 137b-iqWO)2016/07/27(水) 23:42:01.30ID:yQgv1qn00
swigの使い方を覚えたのでC++でshared library作ってtclで呼び出してる。
まあ以前でも素手でtcl向けのライブラリ書いてたけど。
0578デフォルトの名無しさん (ワッチョイ de02-oK17)2016/07/28(木) 01:19:07.19ID:PWtGjmpP0
VCしかしらないけどライブラリのリンクがめんどくさい
GUIライブラリがクソすぎて手軽に書く気になれない
あたりかなあ
0579デフォルトの名無しさん (ワッチョイ 7ea6-n/e8)2016/07/28(木) 02:09:41.73ID:rtov7zp80
リンクがめんどいってインポートライブラリのことか?
0580デフォルトの名無しさん (ワッチョイ 7d7b-LcQh)2016/07/28(木) 04:24:04.25ID:SCzjcUXT0
デファクトスターダードなパッケージ管理のソフトウェアが無いってのが弱点かな
あとリンクするライブラリをソースコードとは別で指定しなきゃならんのも環境によって方法が全く違って面倒
たしかBlizzardからパッケージシステムの提案出てたよね?
0581デフォルトの名無しさん (ワッチョイ 7ea6-n/e8)2016/07/28(木) 08:10:20.62ID:rtov7zp80
環境によって方法が違うのまで面倒とか言い出したらきりないな
VCしか知らんのにgccと違うのが面倒なわけなさそうだが
0582デフォルトの名無しさん (ワッチョイ 8063-Y0VN)2016/07/28(木) 10:12:03.26ID:9zI1nj0T0
#pragma commentを知らないか
ライブラリを指定するのがめんどくさいか
0583デフォルトの名無しさん (JP 0Hcd-h2bY)2016/07/28(木) 10:44:02.14ID:IcWRb54zH
>>580
お客様気分で使いたいなら他の選択肢(言語)はいくらでもある
0584デフォルトの名無しさん (ブーイモ MMcd-Y0VN)2016/07/28(木) 11:52:38.27ID:X9nAf2gTM
pkg-configでええわ。
0585デフォルトの名無しさん (ワッチョイ 7d7b-LcQh)2016/07/28(木) 14:16:28.08ID:SCzjcUXT0
>>581
俺 >>578 と別人だから。

>>583
へぇ、偉そうに言ってるお前はC++にどんな貢献をしたんだい?
0586デフォルトの名無しさん (ワッチョイ 7ea6-n/e8)2016/07/28(木) 15:56:30.82ID:rtov7zp80
C++への貢献?
なんか話の方向がメルセンヌツイスターだな
0587デフォルトの名無しさん (スプッッ Sdb8-Y0VN)2016/07/28(木) 16:19:29.77ID:LmLdUHqpd
俺なんかC++勉強会の懇親会に出たことるんだぞ
0588デフォルトの名無しさん (ワッチョイ cddc-1jYK)2016/07/28(木) 16:25:41.32ID:PhoEVdvZ0
C++への貢献ねぇ…。
クソ高い参考書を買うとか?
0589デフォルトの名無しさん (ワッチョイ 7ea6-n/e8)2016/07/28(木) 17:58:18.31ID:rtov7zp80
規格票なら買ってる
クソ高い・・・以前に、公文書の交付を受けるのにあの金額はおかしいだろ
0590デフォルトの名無しさん (スプッッ Sdb8-Y0VN)2016/07/28(木) 18:12:04.60ID:LmLdUHqpd
貢献はboostやcpprefjpへのプルリクでいいんじゃない?
0591デフォルトの名無しさん (ワッチョイ 7ea6-n/e8)2016/07/28(木) 18:21:31.47ID:rtov7zp80
つーか、単にC++で何か作ること自体がもう貢献だろ
たとえばCがあれだけ栄えたことに貢献した人は何をしたんだっけ
0592デフォルトの名無しさん (ワッチョイ de02-oK17)2016/07/28(木) 19:27:08.07ID:PWtGjmpP0
>>589
それって金で買えるのか
0593デフォルトの名無しさん (オッペケ Sr69-Y0VN)2016/07/28(木) 19:56:00.92ID:sYdLJS0Ur
規格票って13年くらい前の古文書だろ
0594デフォルトの名無しさん (ワッチョイ 7e23-Y0VN)2016/07/28(木) 20:12:33.65ID:CaiDafD30
>>592
日本版(JIS)でよければ、大きめの本屋で普通に売ってる。
0595デフォルトの名無しさん (ワッチョイ 7ea6-n/e8)2016/07/28(木) 21:16:50.88ID:rtov7zp80
ISO/IEC 14882:2014 \25,660_
0596デフォルトの名無しさん (ブーイモ MMcd-Y0VN)2016/07/28(木) 22:04:58.45ID:AhBaCZNjM
普通にanciのサイトで買える
0597デフォルトの名無しさん (ワントンキン MM40-LcQh)2016/07/28(木) 22:07:43.11ID:cznXvZ6ZM
そのうちC++準化委員会にどれだけ入るんだろうね
0598デフォルトの名無しさん (ブーイモ MMb8-Y0VN)2016/07/28(木) 22:07:46.67ID:QNrOVLfKM
ANSIの企画書がanciのサイトで買えるのか
嫌ぁ勉強になりますわ
0599デフォルトの名無しさん (ワッチョイ 7117-Y0VN)2016/07/28(木) 22:53:09.75ID:7B/8SZ+20
C++はコードを美しく書ける、という認識は間違っていますか?
0600デフォルトの名無しさん (アウアウ Sa01-sui1)2016/07/28(木) 22:57:08.86ID:ZGIpVfgca
眼鏡をかけような
0601デフォルトの名無しさん (オッペケ Sr69-Y0VN)2016/07/29(金) 02:36:32.13ID:GYJuIIBJr
普通は198CHFの奴を買うもんだが
情弱は違うらしいな
0602デフォルトの名無しさん (ワッチョイ de02-oK17)2016/07/29(金) 02:43:05.82ID:uOIYb5lR0
全文日本語訳されたら買うよ
0603デフォルトの名無しさん (ドコグロ MMc1-Y0VN)2016/07/29(金) 08:10:14.45ID:JEwvfhb1M
>>599
その認識は合ってるよ
ただいくらでも見辛く書ける
という意味では perl と双璧をなすけどね
0604デフォルトの名無しさん (スプッッ Sdc8-Y0VN)2016/07/29(金) 08:22:02.75ID:e8sS4au9d
範囲forを使って逆順にループする方法教えてください
0605デフォルトの名無しさん (スップ Sdc8-Y0VN)2016/07/29(金) 08:43:52.36ID:1qWt9dzPd
じゃあ俺は範囲forを使って
a[i] = b[i] + c[i];
する方法を聞きたい。(聞きたくない)
0606デフォルトの名無しさん (ワッチョイ de02-oK17)2016/07/29(金) 08:46:44.14ID:uOIYb5lR0
>>605
なんかそんな感じの提案あったな
0607デフォルトの名無しさん (ワンミングク MM40-Y0VN)2016/07/29(金) 09:40:41.98ID:pdbkszbOM
>>605
boostのrange_adaptor
0608デフォルトの名無しさん (ワッチョイ 7ea6-n/e8)2016/07/29(金) 10:27:51.01ID:AEGdLZ8J0
>>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;
}
0609デフォルトの名無しさん (スップ Sdc8-Y0VN)2016/07/29(金) 11:57:30.49ID:1qWt9dzPd
>>608
「嫌だ嫌だ...」
そう言ってプログラマは泣いた
0610デフォルトの名無しさん (ドコグロ MM74-Y0VN)2016/07/29(金) 16:25:08.75ID:MbSsjn6pM
>>598
まあ、企画書だからな。
0611デフォルトの名無しさん (ワンミングク MM40-Y0VN)2016/07/29(金) 16:29:20.58ID:74ZVxiA5M
ま、イタリア語は読めないから買わないけど
0612デフォルトの名無しさん (ワッチョイ 7ea6-n/e8)2016/07/29(金) 21:11:18.10ID:AEGdLZ8J0
スイスフラン?
0613デフォルトの名無しさん (ワッチョイ d5a8-oK17)2016/07/29(金) 21:11:25.00ID:ZRGEK2hc0
日本にいたり、イタリヤにいたりや。
0614デフォルトの名無しさん (ブーイモ MMcd-Y0VN)2016/07/29(金) 21:21:35.12ID:vYaVH+7PM
www.anci.it
何故、アメリカの規格書をここで買うの?
0615デフォルトの名無しさん (ワッチョイ d6c0-yFKW)2016/07/29(金) 21:49:50.42ID:BANj6sOx0
”それ”を買いたいんだろう
0616デフォルトの名無しさん (ワッチョイ 795b-Dh9/)2016/07/29(金) 23:28:19.95ID:uSAA9Kyx0
久しぶりに覗いてみたら
相変わらずC++だな()
0617デフォルトの名無しさん (オッペケ Sr69-Y0VN)2016/07/30(土) 16:51:59.64ID:fjcsuflwr
どうして598はISOの話をしていたのに突然ANSIだと思ったんだろう
0618デフォルトの名無しさん (ワッチョイ de3c-Y0VN)2016/07/30(土) 18:10:47.31ID:SD9Rxi9F0
>>617
>>596
0619デフォルトの名無しさん (ワッチョイ e27b-1ZjC)2016/07/30(土) 19:33:55.62ID:RbMYjVy20
ISOを国内むけに規格化してる。JISみたいなもん。
C89(99?)はANSIから買った方がだいぶ安かった。
0620デフォルトの名無しさん (オッペケ Sr69-Y0VN)2016/07/30(土) 19:42:44.69ID:N4OwuBUbr
いや596はANSIが売ってるANSI版じゃなくて
ANSIが売ってるISO版の方の話だろ
0621デフォルトの名無しさん (アウアウ Sa01-sui1)2016/07/30(土) 20:24:51.90ID:B4kFV2/La
いつまで規格の話にはまってんだ
そんなもん江添にでも喰わせておけ
0622デフォルトの名無しさん (ワッチョイ de02-oK17)2016/07/30(土) 20:29:28.87ID:Ye/zcysO0
C++erは規格を食べて生きている
0623デフォルトの名無しさん (ワッチョイ df7b-fBdW)2016/07/30(土) 20:32:20.84ID:9HEOOrL70
んなことない
規格厨はやたら声が大きすぎるだけ
リアルなC++erはそんなのは滅多にいない
0624デフォルトの名無しさん (スプッッ Sdc8-Y0VN)2016/07/30(土) 20:47:43.67ID:/3qyH9iId
江添っておばさんぽいよな
0625デフォルトの名無しさん (ワッチョイ d5a8-oK17)2016/07/30(土) 21:23:02.21ID:tq/lk9dG0
>>623
そうは言ってもなぁ、モダンなコンパイラはかなり豪快な最適化をすることがある。
仕様からちょっとでも外れた部分は予想のつかない結果を生むので、
結果的に仕様にはそれなりに詳しくないととてもじゃないがやってられん。
最適化を抑制するのも馬鹿馬鹿しい話だしな。
0626デフォルトの名無しさん (ワッチョイ 8063-Y0VN)2016/07/30(土) 21:38:31.60ID:V1YioEmu0
つまり「言語仕様は熟知していないけど
最適化オフなら意図した動作にできる自信が有る」

そこはかとなく危険なアロマしか漂わない
0627デフォルトの名無しさん (ワッチョイ de02-oK17)2016/07/30(土) 21:50:00.90ID:Ye/zcysO0
最近はC++に詳しくなることが目的になっているけど何の問題もない
0628デフォルトの名無しさん (ワッチョイ de3c-Y0VN)2016/07/30(土) 22:42:52.77ID:SD9Rxi9F0
>>626
どういう教育受けたらそんなアホな解釈を世間に公開できるんだ?
0629デフォルトの名無しさん (アウアウ Sa01-26Kx)2016/07/30(土) 22:59:04.11ID:r8DYCtFQa
会社にやたらと規格には詳しいが、全く装置動かせない奴いるわ
0630デフォルトの名無しさん (ワッチョイ decc-Y0VN)2016/07/31(日) 01:37:23.60ID:K1pziM800
覚えるだけの実践で使えないでくの坊な
0631デフォルトの名無しさん (ワッチョイ de02-oK17)2016/07/31(日) 01:55:53.06ID:k2XUZocb0
入門書以上の知識が必要な業務ってどれだけあるんだよ
0632デフォルトの名無しさん (ワッチョイ 7e23-Y0VN)2016/07/31(日) 02:03:51.88ID:BwQhep530
むしろ入門書だけでなんとかなる業務がどれだけあるのか聞きたいわ
0633デフォルトの名無しさん (ワッチョイ de02-oK17)2016/07/31(日) 02:24:27.97ID:k2XUZocb0
うちの会社では工場の設備の補助的なPCのアプリケーションばかり作らされていてどベターCみたいなのばっかりだわ制御ではない
一通りの構文知っていれば書ける
C++の標準ライブラリは使用禁止
MFCを使わされる
理由は上司が分からないから
0634デフォルトの名無しさん (アウアウ Sa01-sui1)2016/07/31(日) 04:59:09.06ID:gsBYroyJa
上司どかせろ
0635デフォルトの名無しさん (ワントンキン MM40-LcQh)2016/07/31(日) 05:49:24.35ID:m5m3ueEtM
クラスメンバーへのポインタでデータメンバーかメンバー関数かでオーバーロードするいい方法ある?
メンバー関数はシグネチャー決まってなくて
C++03でも通る方法で
0636デフォルトの名無しさん (ワッチョイ b2a6-oK17)2016/07/31(日) 07:01:09.97ID:mjx8Q1wz0
>>635
メンバポインタ以外に、クラスインスタンスも引数にもらえると考えていいの?
0637デフォルトの名無しさん (ワントンキン MM40-LcQh)2016/07/31(日) 07:10:35.74ID:m5m3ueEtM
>>636
貰えないと考えて
0638デフォルトの名無しさん (オッペケ Sr69-Y0VN)2016/07/31(日) 07:33:12.04ID:1r+GKlUkr
入り口をテンプレートにしたら
普通にオーバーロードできたが
何を困っているんだ?
0639デフォルトの名無しさん (ワントンキン MM40-LcQh)2016/07/31(日) 07:43:11.76ID:m5m3ueEtM
>>638
質問そんなに解りづらかったかな?
メンバー関数かデータメンバーかで分けたいって言ってるんだけど
0640デフォルトの名無しさん (ワントンキン MM40-LcQh)2016/07/31(日) 08:11:05.35ID:m5m3ueEtM
http://ideone.com/O18mHy
例えばこんな感じに書くことが考えられるけど、cv修飾とかreference修飾とかが着くとダメだよね
それぞれ一つ一つ書くのもめんどくさいしそんなにいっぱい書きたくない、もっといい方法無いかなってのが質問の趣旨
0641デフォルトの名無しさん (ワッチョイ 3f3c-oK17)2016/07/31(日) 10:22:46.19ID:O2K+oF4W0
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;
}
0642デフォルトの名無しさん (ワッチョイ decc-Y0VN)2016/07/31(日) 10:31:13.44ID:K1pziM800
夏休みだなw
0643デフォルトの名無しさん (ワッチョイ 3f3c-oK17)2016/07/31(日) 10:38:43.13ID:O2K+oF4W0
ideoneに貼った方がよかった?
0644デフォルトの名無しさん (ワッチョイ 3f3c-oK17)2016/07/31(日) 10:40:11.46ID:O2K+oF4W0
>>641
書くところ間違えました。すいません。
0645デフォルトの名無しさん (ワッチョイ decc-Y0VN)2016/07/31(日) 10:42:05.30ID:K1pziM800
>>641
LPTSTR opt の部分を TCHAR opt[MAX_PATH] になおすと動くだろ
あとは初心者スレできくといい
0646デフォルトの名無しさん (ワッチョイ 3f3c-oK17)2016/07/31(日) 10:53:02.43ID:O2K+oF4W0
>>645
動きました!ありがとうございます!
初心者スレ探してきます!
0647デフォルトの名無しさん (アウアウ Sa01-26Kx)2016/07/31(日) 11:33:20.94ID:kJ3Jsux+a
>>633
MFC?
とっくに枯れてるライブラリだろ
0648デフォルトの名無しさん (JP 0Hcd-h2bY)2016/07/31(日) 12:11:22.29ID:mZA98VWrH
と >>633 の代わりに上司を説得してくれるそうです
0649デフォルトの名無しさん (アウアウ Sa01-26Kx)2016/07/31(日) 12:17:23.36ID:kJ3Jsux+a
テンプレートを使ってるライブラリの使用はOKだが、テンプレートを使って関数なり、クラスを書くのは内も禁止してる。
素人が書いたテンプレートなんて使い物にならんからな
0650デフォルトの名無しさん (ワッチョイ 7d7b-LcQh)2016/07/31(日) 12:25:43.00ID:75nzMpMc0
>>649
素人しか居ないのか
0651デフォルトの名無しさん (ワントンキン MM40-Y0VN)2016/07/31(日) 12:28:15.56ID:alwpU5odM
ublasのオレオレ拡張とか書かない?
0652デフォルトの名無しさん (ワッチョイ 7551-xLev)2016/07/31(日) 12:33:32.64ID:0ENkURmo0
そりゃ、枯れてるライブラリを使う方がいいだろ。
0653デフォルトの名無しさん (ワッチョイ 7d02-oK17)2016/07/31(日) 12:42:20.48ID:Ik3c6uxO0
永久に進歩は無いけどな
0654デフォルトの名無しさん (JP 0Hcd-h2bY)2016/07/31(日) 12:53:48.72ID:mZA98VWrH
今後入替えが困難という前提で
ルーキーとベテランどちらを選ぶかって話よ
0655デフォルトの名無しさん (アウアウ Sa01-26Kx)2016/07/31(日) 13:05:25.27ID:kJ3Jsux+a
>>650
テンプレートを書ける奴なんて、日本人てはほとんどいないだろ
0656デフォルトの名無しさん (ワッチョイ 7a6c-6yRu)2016/07/31(日) 13:06:50.98ID:VgeNLb5A0
書くだけならいくらでもおるやろ
0657デフォルトの名無しさん (アウアウ Sa01-26Kx)2016/07/31(日) 13:10:47.75ID:kJ3Jsux+a
>>656
嘘つけ、世界的に見ても数十人程度だろ
0658デフォルトの名無しさん (ワッチョイ 7a6c-6yRu)2016/07/31(日) 13:15:42.90ID:VgeNLb5A0
そうだったな、すまん
0659デフォルトの名無しさん (ワッチョイ 7d02-oK17)2016/07/31(日) 13:18:11.60ID:Ik3c6uxO0
書けるっていうのは標準ライブラリやboostレベルの話か
そもそもテンプレートでガリガリ書いていく場面なんて汎用的なライブラリくらいしかないし
しかもそれらを仕事として書く事なんてまずない
書く機会があるのが数十人程度なんだろう
0660デフォルトの名無しさん (ワッチョイ df7b-fBdW)2016/07/31(日) 13:19:23.82ID:Qkh5fkK70
>>657
馬鹿言ってんじゃねーよボケ
0661デフォルトの名無しさん (ワッチョイ 7fc9-Y0VN)2016/07/31(日) 13:51:51.17ID:tLh0Iyun0
C++のテンプレートはコンパイルエラーの原因が分かりにくく、
デバッグもしにくい。十分に検証されたライブラリならいいけど、
そうでないと逆に生産性を低下させるという主張も妥当性はある。
0662デフォルトの名無しさん (スプッッ Sdc8-Y0VN)2016/07/31(日) 13:57:56.22ID:8ZXaDYcWd
馬鹿馬鹿しい話だ
別にテンプレートに限ったことじゃないが
0663デフォルトの名無しさん (ブーイモ MMcd-Y0VN)2016/07/31(日) 14:08:07.54ID:0belju2qM
VC++のSTLのBUGはいい加減直して欲しいものだが
0664デフォルトの名無しさん (スッップ Sdb8-Y0VN)2016/07/31(日) 14:16:25.51ID:iNXfEuF/d
g++のstlバグも直して欲しいんですがそれは
0665デフォルトの名無しさん (オッペケ Sr69-Y0VN)2016/07/31(日) 14:27:33.43ID:1r+GKlUkr
>>640
is_member_object_pointer
is_member_function_pointer
でenable_ifしたら?
0666デフォルトの名無しさん (ワッチョイ decc-Y0VN)2016/07/31(日) 14:34:12.34ID:K1pziM800
>>661
エラー発生元を辿ってきちんと表示しない糞コンパイラだとそうなる罠
0667デフォルトの名無しさん (ワッチョイ decc-Y0VN)2016/07/31(日) 14:38:03.05ID:K1pziM800
昔のはテンプレートヘッダの部分をエラー表示してソースのどの部分でエラー怒っているか放置するの多かったから結構苦労したな
0668デフォルトの名無しさん (ワッチョイ df7b-fBdW)2016/07/31(日) 14:41:23.07ID:Qkh5fkK70
>>661
テンプレートも使えない無能はこうやって自尊心を保とうとするんですね
よく分かりました
0669デフォルトの名無しさん (ワッチョイ 7fc9-Y0VN)2016/07/31(日) 15:26:40.59ID:tLh0Iyun0
C++のテンプレートはコンパイル時マクロみたいなもんだからな。
0670デフォルトの名無しさん (ワッチョイ 719a-oK17)2016/07/31(日) 15:36:49.88ID:CXKWxktG0
C++アンサイクロペディア思い出したw
http://ja.uncyclopedia.info/wiki/C%2B%2B

テンプレート

クソ山の王。あるいはクソを聳え立たせる物の意。(出典:Modern C++ Design)
禁書によりその存在が広く認知されるに至り、これはC++の教義における最も特徴的な物であると言われるまでに至った。
その実は、マクロに多少の毛が生えたようなものであり、寝マクロと大差無いというのが近代的な解釈である。
これを使いこなすためには無限の忍耐と高度に鍛えられた指先、また、連続数十時間にも及ぶ苦行に耐えうる強靭な肉体を要する。
0671デフォルトの名無しさん (ブーイモ MMb8-Y0VN)2016/07/31(日) 15:49:22.43ID:SaVLGxW1M
標準ライブラリは使用禁止!
理由は、バグがあったときに原因究明が難しい上に、修正できないから!

って指示の職場があってひいたことがあったわー
(心の中で)こうつぶやいたのは言うまでもない

「標準ライブラリのバグ踏む確率より、お前らの作る代替機能がバグる確率の方が高いだろ」
0672デフォルトの名無しさん (ワッチョイ 9c42-oK17)2016/07/31(日) 15:58:54.36ID:79rySoAY0
コンパイラにGCCを使って開発していたとき、
ライセンスの関係で標準ライブラリ使用禁止と言うのはあったな
代わりに自社製の同等ライブラリーが提供されていた
必要ならソースも参照できたし
不具合が合った時は迅速に修正してくれたよ
0673デフォルトの名無しさん (ワッチョイ 7d02-oK17)2016/07/31(日) 16:34:41.62ID:Ik3c6uxO0
コンパイラのバグを踏んだとき気付きようがないから禁止します
0674デフォルトの名無しさん (ワッチョイ de3c-Y0VN)2016/07/31(日) 16:59:33.20ID:kNYZMHst0
>>673
GCC で -O2 は使っちゃダメとかあったような
0675デフォルトの名無しさん (JP 0Hcd-h2bY)2016/07/31(日) 17:13:56.59ID:mZA98VWrH
普通は -O2 がデフォやろ
0676デフォルトの名無しさん (ワッチョイ 7d02-oK17)2016/07/31(日) 17:13:57.14ID:Ik3c6uxO0
>>674
それは非同期処理で痛い目見た人が間違った学習をした場合そうなる
0677デフォルトの名無しさん (アウアウ Sa01-26Kx)2016/07/31(日) 17:20:53.32ID:kJ3Jsux+a
普通は最適化なんて自前でやるだろ。最大公約数的な最適化なんて使い物になるとは思えん
0678デフォルトの名無しさん (スプッッ Sdc8-Y0VN)2016/07/31(日) 17:23:55.90ID:8ZXaDYcWd
>>677
ものによる。普通かどうかはどうでもよさそう。
0679デフォルトの名無しさん (ワッチョイ 7a6c-6yRu)2016/07/31(日) 17:27:03.52ID:VgeNLb5A0
コードの最適化とコンパイラの最適化ってレイヤーが違うと思うんですけど(名推理)
0680デフォルトの名無しさん (ワッチョイ 7d02-oK17)2016/07/31(日) 17:28:00.76ID:Ik3c6uxO0
>>679
全てアセンブラで書くんだろ
0681デフォルトの名無しさん (アウアウ Sa01-26Kx)2016/07/31(日) 17:30:36.75ID:kJ3Jsux+a
>>680
IAA32をバイナリエディタでガリガリ書くだけ
0682デフォルトの名無しさん (ワッチョイ 7e23-Y0VN)2016/07/31(日) 17:36:08.96ID:BwQhep530
>>676
激しく同意。
0683デフォルトの名無しさん (ワッチョイ 7f6f-n/e8)2016/07/31(日) 17:51:18.90ID:Cp9ofSd90
Androidもglibc使ってないんだよね

俺の関わったCの案件だと、標準ライブラリに依存しすぎないようになってることが多かった
標準ライブラリ使うとしても直接じゃなくてラッパー関数を1枚噛ませるとかしてる
C++だとその辺わりと無頓着だよね
0684デフォルトの名無しさん (ワッチョイ 7e23-Y0VN)2016/07/31(日) 18:00:04.21ID:BwQhep530
>>683
必要であればラップするけど…
「できるだけ依存しない」の目的がわからないなぁ。
興味本位で聞きたいんだけど、理由があるのなら教えてもらえないだろうか?

俺の感覚だと、全く同じ機能を使うだけなら、できるだけ標準に依存するようにして欲しい。
0685デフォルトの名無しさん (ワッチョイ 7f6f-n/e8)2016/07/31(日) 18:08:48.02ID:Cp9ofSd90
>>684
たとえばカーネルモードとか標準ライブラリが整備されてない環境で動かすことを想定してる
0686デフォルトの名無しさん (ブーイモ MMb8-Y0VN)2016/07/31(日) 18:17:32.29ID:aQ94HVbVM
>>683
cの標準ライブラリをラップするメリットってあるの?
0687デフォルトの名無しさん (ワッチョイ 7e23-Y0VN)2016/07/31(日) 18:19:08.34ID:BwQhep530
>>685
しそたら、その時に自分で用意すれば良いだけじゃね?
0688デフォルトの名無しさん (ガラプー KKcd-LNIv)2016/07/31(日) 18:25:42.42ID:YpFt8gEAK
しそたらこふりかけ
0689デフォルトの名無しさん (アウアウ Sa01-sui1)2016/07/31(日) 18:29:21.69ID:uNPc5yZza
>>649-650
この流れ好こ
0690デフォルトの名無しさん (ワッチョイ 7f6f-n/e8)2016/07/31(日) 18:29:52.99ID:Cp9ofSd90
>>687
環境に応じて用意するんだけどフル機能サポートはしないからね
標準関数そのまま使ってるとそこでフル機能使えるんだと勘違いする奴が出て来たりして
ちょっと面倒なことになる
0691デフォルトの名無しさん (ワッチョイ 3e9f-EaMp)2016/07/31(日) 18:44:35.61ID:Ep1NxVxz0
>>683
AndroidはglibcではなくBionic libcを使ってるだけだから
標準ライブラリに依存しないということとはほぼ関係ない
0692デフォルトの名無しさん (ワッチョイ bae4-oK17)2016/07/31(日) 18:44:49.46ID:Iib2qVEP0
テンプレートとかvectorとかいるの?
Delphiにはないんだけど、なんか利点あるんですか?
(そもそもそれが何かあまりわかっていない)
0693デフォルトの名無しさん (ワッチョイ 7e23-Y0VN)2016/07/31(日) 18:46:51.70ID:BwQhep530
>>690
なるほどね。
それなら妥当かもね。
全く同じものを提供しているなら、それは意味ないと思ったんだけど、そもそも違う機能なら、別関数として然るべきだね。
0694デフォルトの名無しさん (ワイマゲー MM45-oK17)2016/07/31(日) 19:24:05.65ID:JTJLwIyaM
【閲覧注意】戦闘に巻き込まれて頭部を切断された少女の遺体。これがリアルなシリア。
http://dqnworld.com/archives/34.html
これが本当の戦争の恐怖。この少女には大人の戦争は関係ないですからね。巻き込まれた少女の遺体を持って何か
を訴えかけている男たちの映像です。

【閲覧注意】シリアで反体制派の兵士が顔を吹き飛ばされてしまう瞬間。
http://dqnworld.com/archives/89.html
スローモーションが怖すぎる・・・。

【閲覧注意】アッラーフアクバルを叫びながら少年を斬首する映像を公開する。
http://dqnworld.com/archives/3975.html
点滴?のようなものが見えるんだけど。助けられた少年じゃなかったのか。助けられた所を強奪されてアッラーフ
アクバル?なのかしら・・・。

【閲覧注意】磔にされた戦闘機パイロットの遺体。シリアにて。
http://dqnworld.com/archives/3996.html
今日のアッラーフアクバル動画。

【閲覧注意】この首吊り自殺、足スレスレだけど本当に死ねてる?
http://dqnworld.com/archives/4001.html
中国で撮影された首吊り自殺の映像です。既に死んでいると書いてあるけど自分で揺らしているようにみない?www

妻の目の前でぶっ飛ばされた旦那さん?これは死んだかな(°_°)
http://dqnworld.com/archives/4004.html
さすがにこれだけ飛ばされたら助からないかな・・・。

【閲覧注意】あおむけでゲロを吐きまくっている男性。助けてやれよ・・・。窒息するぞ(@_@;)
http://dqnworld.com/archives/4007.html
これ結構危ないんじゃないの?撮影してないで横向きにしてやれよ。これ窒息する可能性あるだろ。
0695デフォルトの名無しさん (ワッチョイ de3c-Y0VN)2016/07/31(日) 21:42:47.04ID:kNYZMHst0
>>676
GCC がバグフリーだと盲信してる人なの?
0696デフォルトの名無しさん (スップ Sdb8-Y0VN)2016/07/31(日) 22:10:12.03ID:CMFfCBWUd
struct hoge
{
using type = int;
};
struct moge : public hoge
{
using hoge::type;
enum : type{};
};
エラー C3064 'type': 単純型でなければならない、または単純型に解決しなければなりません

VC2015だとなぜエラーになるのですか
GCCではなりません
0697デフォルトの名無しさん (アウアウ Sa01-26Kx)2016/07/31(日) 23:05:54.79ID:UZ5XiVpsa
ほならgccつこーたら、ええんちゃうんかい?
0698デフォルトの名無しさん (ワッチョイ cec2-IkXK)2016/07/31(日) 23:17:03.71ID:I8Tjpnqi0
>>696
コンパイラのオプション
0699デフォルトの名無しさん (ワッチョイ df7b-fBdW)2016/08/01(月) 07:33:06.33ID:U+4K15gc0
>>696
VS2015 Update3で試したら普通に通るけど?オプションはデフォルトで
0700デフォルトの名無しさん (ワッチョイ df7b-fBdW)2016/08/01(月) 07:43:24.34ID:U+4K15gc0
VS2013でも通る
VS2012じゃ通らないがエラーが>>696のとは違う
0701デフォルトの名無しさん (ワッチョイ decc-Y0VN)2016/08/01(月) 13:47:54.88ID:GmgQHqak0
>>692
世の中には知らない方が幸せなこともあります
無理して知ろうとすると発狂してしまうかもですよ
0702デフォルトの名無しさん (ブーイモ MMb8-Y0VN)2016/08/01(月) 15:08:14.78ID:6sVoWLaMM
コアにやるならC
カジュアルにやるならC#あたり
わざわざC++選ぶ理由なくね?
0703デフォルトの名無しさん (ワッチョイ 7ea6-n/e8)2016/08/01(月) 15:16:30.22ID:BA4CXaZK0
いや必要が生じてない人に同意を求められても・・・
0704デフォルトの名無しさん (スプッッ Sdc8-Y0VN)2016/08/01(月) 16:13:35.83ID:xe1Us1FPd
コアとかカジュアルとかゆるふわな判断基準で問われても答えられんわな
0705デフォルトの名無しさん (アウアウ Sa01-Y0VN)2016/08/01(月) 16:19:47.30ID:0N9DG3Lpa
コアとカジュアルってなんだよ
むしろ組み込みとかでない限りわざわざC選ぶ理由がないんだが
0706デフォルトの名無しさん (ワッチョイ 7ea6-n/e8)2016/08/01(月) 16:28:46.84ID:BA4CXaZK0
だから、おまえが選ぶ理由がないだけだろ
バイナリ使うだけでソースは見もしないの丸出しだな
0707デフォルトの名無しさん (スップ Sdc8-Y0VN)2016/08/01(月) 17:20:40.72ID:ED+THM+Cd
C++もC#も両方使うんだが?
0708デフォルトの名無しさん (ワッチョイ 7ea6-n/e8)2016/08/01(月) 17:59:02.40ID:BA4CXaZK0
答えになってねえぞ
ソースを見ずに使えるバイナリのソースのことを言っているんだ
0709デフォルトの名無しさん (ブーイモ MMb8-Y0VN)2016/08/01(月) 18:02:42.53ID:6sVoWLaMM
ソースのソースのソース?
何言ってんの?
これだからc++は・・
0710デフォルトの名無しさん (オッペケ Sr69-Y0VN)2016/08/01(月) 18:48:33.52ID:OBAVNtD4r
>>709の日本語能力の低さには脱帽だが
>>708が突然バイナリのソースについて言及し始めた理由が不明
0711デフォルトの名無しさん (スプッッ Sdc8-Y0VN)2016/08/01(月) 18:52:53.09ID:xe1Us1FPd
>>702
普通に考えるとわざわざCを選ぶ理由が不明、となるはずだが?
0712デフォルトの名無しさん (ドコグロ MM74-Y0VN)2016/08/01(月) 19:28:11.53ID:+SXwg/r8M
そもそもコアにやるならアセンブラ
だろ
0713デフォルトの名無しさん (ブーイモ MMb8-Y0VN)2016/08/01(月) 20:02:08.33ID:Pl/m9xU5M
今ならCUDAかもなぁ
0714デフォルトの名無しさん (ワッチョイ 757b-Gs9L)2016/08/01(月) 20:34:35.11ID:X7d6me2M0
馬鹿な機能を得意げに使う馬鹿を寄せ付けないために c を使うという方はいますが。
0715デフォルトの名無しさん (ワッチョイ 7ea6-n/e8)2016/08/01(月) 20:49:22.69ID:BA4CXaZK0
>>709
ニホンゴワカリマセンで逃げるんなら深追いはしねえよw
0716デフォルトの名無しさん (ブーイモ MMb8-Y0VN)2016/08/01(月) 20:56:34.02ID:c5CCxcjkM
で、何だって?
ソースのソースのソースのソースですかあ?
すごいでちゅねwww
0717デフォルトの名無しさん (ワントンキン MM40-LcQh)2016/08/01(月) 21:15:05.92ID:JluuYzqfM
まずgccとかclangのCコンパイラ作ってる人に言ってきたらいいんじゃないかな?
CとC++やめてCとC#にしようぜって
相手にされないだろうけど
0718デフォルトの名無しさん (アウアウ Sa01-sui1)2016/08/01(月) 21:23:55.75ID:/D4DgFQEa
CPUの進化が停まっている今、プログラミングに速度が求められるようになる
C/C++は大正義として復権を果たすのである
しかし同時に今、Rustが脅威となりつつ成長を進めている
0719デフォルトの名無しさん (オッペケ Sr69-Y0VN)2016/08/01(月) 21:28:07.01ID:MTM1tXJLr
また変な奴が湧いたな
0720デフォルトの名無しさん (ワッチョイ de3c-Y0VN)2016/08/01(月) 22:29:53.73ID:G87zOVs30
>>715
バイナリのソース
とか言う奴に言われても苦笑するしかないが w
0721デフォルトの名無しさん (ワッチョイ 715b-Y0VN)2016/08/01(月) 23:21:22.18ID:C8sozVqi0
何だ?このカオスなやり取りは…?
0722デフォルトの名無しさん (ワッチョイ 757b-oK17)2016/08/01(月) 23:23:53.09ID:hgm6N8zV0
>>675
2.9.いくつかで-O2したら浮動小数点演算がバグりまくるってのがあった
0723デフォルトの名無しさん (JP 0Hcd-h2bY)2016/08/02(火) 08:02:27.95ID:1+WRG/xHH
それは普通じゃないな
0724デフォルトの名無しさん (アウアウ Sa01-26Kx)2016/08/02(火) 10:31:24.15ID:1Qrut2t0a
C++を使えるようなりたいんですが、どんな感じで習得していくのが良いですか?
0725デフォルトの名無しさん (ワッチョイ 9c41-UbOe)2016/08/02(火) 10:42:35.25ID:V+yjlCg80
とにかく、下手でもいいから一つアプリケーションを自分の使う範囲では実用的なところまで作ることだな
こまかな言語仕様をつついてると一向にしょぼいアプリケーションすらできないぞ
int i = 0;
int i(0);
は意味が違うなんて細かなこと言ってるやついるけど、そんなところで時間使うなんてもったいなすぎる
0726デフォルトの名無しさん (スッップ Sdb8-Y0VN)2016/08/02(火) 11:47:13.02ID:E531VOcLd
アプリケーションを作りたいなんてどっから出てくるの?
0727デフォルトの名無しさん (ワッチョイ 7fe7-UbOe)2016/08/02(火) 11:51:17.93ID:YLg91Q2/0
C++使って何がしたいの?
0728デフォルトの名無しさん (スップ Sdb8-Y0VN)2016/08/02(火) 11:56:03.27ID:Sm4KzUAwd
使いたくはないけどコンパイラがそれしかないので使ってます
0729デフォルトの名無しさん (ワッチョイ 7fe7-UbOe)2016/08/02(火) 11:59:45.30ID:YLg91Q2/0
軽量言語っていう選択肢もあるのよ?コンパイラにこだわる理由がよくわからん。
0730デフォルトの名無しさん (ワッチョイ 11a1-18JB)2016/08/02(火) 13:36:34.21ID:zPXv91Z/0
exeができる
exeだけ配布すれば実行できる
大金で購入したら、なんとしても活用したい
0731デフォルトの名無しさん (ワッチョイ 7fe7-UbOe)2016/08/02(火) 13:41:54.21ID:YLg91Q2/0
画期的なアルゴリズム組んでソース売ればええやん。
0732デフォルトの名無しさん (ワッチョイ 757b-kdTI)2016/08/02(火) 13:46:50.53ID:gW1Wrb7f0
どんなデータも1バイトに圧縮し
復元を不可能にするアルゴリズム
0733デフォルトの名無しさん (ワッチョイ 7fe7-UbOe)2016/08/02(火) 13:51:29.22ID:YLg91Q2/0
ハノイかと思ったら不可逆だった。
0734デフォルトの名無しさん (JP 0Hcd-h2bY)2016/08/02(火) 13:55:31.98ID:1+WRG/xHH
>>732
辞書サイズは数億テラバイトです
0735デフォルトの名無しさん (JP 0Hcd-h2bY)2016/08/02(火) 13:57:13.65ID:1+WRG/xHH
あ〜ダメだ
検索キーもテラバイト以上だわ
0736デフォルトの名無しさん (ワッチョイ 7ea6-n/e8)2016/08/02(火) 14:59:01.53ID:WLaUhyh00
>>734
数百エクサバイト
0737デフォルトの名無しさん (アウアウ Sa01-sui1)2016/08/02(火) 15:39:50.56ID:alL9nwnNa
>>724
成果物ができるまでの間、退屈でしょうから競技プログラミングを始めると張り合いが出ますよ

競技プログラミングにハマるプログラマのスレ 3
http://tamae.2ch.net/test/read.cgi/prog/1468710465/
0738デフォルトの名無しさん (アウアウ Sa01-26Kx)2016/08/02(火) 18:28:17.64ID:cLBx5CIGa
>>727
CADみたいなものを作りたい。
3DCADは難しそうだけど、2Dなら簡単かな?って思ってるけど、甘いですか?
0739デフォルトの名無しさん (ワッチョイ de3c-Y0VN)2016/08/02(火) 19:13:01.29ID:jbpKST8w0
お前さんの実力による
まあサクっとできる奴はこんなスレでそんな質問はしないと思うが
0740デフォルトの名無しさん (アウアウ Sa01-26Kx)2016/08/02(火) 19:39:02.34ID:1Qrut2t0a
学習し始めって書いたじゃん

おまいさんは、同じことを何回も聞くタイプなんだろうなw
0741デフォルトの名無しさん (ブーイモ MMcd-Y0VN)2016/08/02(火) 19:50:27.77ID:cf3BF6/sM
2Dでもアイソメ楕円とか自由曲線は難易度高いかも
後はレイヤー管理がメインかなぁ
0742デフォルトの名無しさん (ワッチョイ 9c42-oK17)2016/08/02(火) 20:03:23.74ID:RnjV5EAQ0
CADの場合は、最初からそういう難しいことに取り組まず
直線と円弧での描画をやってみると良いカモ
0743デフォルトの名無しさん (ワッチョイ de3c-Y0VN)2016/08/02(火) 20:54:47.07ID:jbpKST8w0
>>740
暗にお前には無理
って言われてることぐらいは理解しようよ
0744デフォルトの名無しさん (ワッチョイ 7202-oK17)2016/08/02(火) 20:59:37.59ID:SmTpSA0P0
簡単な図形の描画や内外判定から順に取り組んでいくべき
そして徐々にできることが増えてくると楽しくなる
0745デフォルトの名無しさん (アウアウ Sa01-26Kx)2016/08/02(火) 22:50:07.40ID:OwqAoKada
釣れたw
0746デフォルトの名無しさん (ブーイモ MMcd-Y0VN)2016/08/02(火) 22:57:51.52ID:dweuolJ5M
>>734
俺はもう実装できたぞ
0747デフォルトの名無しさん (ワッチョイ d5e6-Y0VN)2016/08/02(火) 23:15:00.58ID:WQEcte8L0
>>740
> 学習し始めって書いたじゃん
どこに書いたんだよw
0748デフォルトの名無しさん (アウアウ Sa01-sui1)2016/08/03(水) 02:07:06.25ID:y3itLeKxa
どうして争うの?(・ิω・ิ)
0749デフォルトの名無しさん (ワッチョイ cddc-1jYK)2016/08/03(水) 06:26:39.84ID:Ibo0j3eF0
>>738 == >>740 ( == >>724) なのかな?

もしそうなら「デフォルトの名無しさん」で投稿しててIDも違うのに
同じ人物の発言と察してくれってのは無理筋ってモンじゃないかぇ。
ワッチョイの方は一致してるけどさ。
0750デフォルトの名無しさん (ワッチョイ 9c42-oK17)2016/08/03(水) 07:20:08.42ID:qmXkrxcu0
そこはワッチョイで察してやれ
0751デフォルトの名無しさん (ワッチョイ b94a-yFKW)2016/08/03(水) 07:36:48.44ID:Ve2x0gaK0
>>748
そういう年頃なんだろ
0752デフォルトの名無しさん (ドコグロ MM74-Y0VN)2016/08/03(水) 07:49:57.03ID:QRN/XaVqM
初心者でもなんでもいいけどいちいち >>740 みたいなこと言う奴はスルーでいいかと
0753デフォルトの名無しさん (ワッチョイ 7ea6-n/e8)2016/08/03(水) 10:13:34.98ID:EXqlE33b0
煽り耐性が足りないね
0754デフォルトの名無しさん (ワッチョイ 9c41-UbOe)2016/08/03(水) 19:09:08.41ID:h9b7IxGI0
class Foo{};って
宣言?定義?
0755デフォルトの名無しさん (ワンミングク MMed-Y0VN)2016/08/03(水) 19:35:16.32ID:wYpM7kzSM
定義
0756デフォルトの名無しさん (ワッチョイ 9c41-UbOe)2016/08/03(水) 19:45:08.17ID:h9b7IxGI0
定義ならアドレスが取れるはずですよね?
int a;
なら&aみたく。
どうやってアドレスを取るのですか?
0757デフォルトの名無しさん (ワッチョイ 7551-xLev)2016/08/03(水) 19:49:36.89ID:fJKhNvbj0
>定義ならアドレスが取れるはずですよね?

なんでそう思った
0758デフォルトの名無しさん (ワッチョイ 9c41-UbOe)2016/08/03(水) 19:53:24.68ID:h9b7IxGI0
>なんでそう思った

宣言と定義の違いは
0759デフォルトの名無しさん (ワッチョイ df12-xLev)2016/08/03(水) 20:15:02.76ID:N9MmOijn0
どうでもよいけど、定義ならアドレスが取れるというのは君の思い込みだから
0760デフォルトの名無しさん (ワッチョイ 7202-oK17)2016/08/03(水) 20:54:34.52ID:sZD2VxNu0
メモリ上にないもののアドレスは取れない
0761デフォルトの名無しさん (オッペケ Sr69-Y0VN)2016/08/03(水) 21:02:34.68ID:wmDQLAzIr
>>758
日本語で会話のキャッチボールが出来ない低能は去れ
0762デフォルトの名無しさん (オッペケ Sr69-Y0VN)2016/08/03(水) 21:05:53.07ID:wmDQLAzIr
そのうち755に対して「バーカ」と言い出すんだろうか。
狙ったような引っ掛け質問だ
0763デフォルトの名無しさん (アウアウ Sa01-26Kx)2016/08/03(水) 21:10:28.83ID:brj0j+YHa
>>760
そのメモリ上に、存在しなくても定義というの?
extern int a;
もaはメモリは確保しない。
定義なのかしらん?w
0764デフォルトの名無しさん (スプッッ Sdb8-Y0VN)2016/08/03(水) 21:12:53.15ID:1RE7rbq9d
// クラス名の宣言
class C ;

// クラスの宣言と定義
class C { } ;
0765デフォルトの名無しさん (アウアウ Sa01-26Kx)2016/08/03(水) 21:18:30.62ID:tpuDUd8ra
だから定義の定義を言えよ
0766デフォルトの名無しさん (ワッチョイ 7202-oK17)2016/08/03(水) 21:20:54.59ID:sZD2VxNu0
言わなくていいぞ
0767デフォルトの名無しさん (ワッチョイ 7ea6-n/e8)2016/08/03(水) 21:21:01.79ID:EXqlE33b0
>>759
どうでもよくねえだろ

>>763
#define はアドレスが取れたり取れなかったりする
extern int a; は定義ではない宣言だ

メモリを取るかどうかが定義と宣言の境界だと思ってるやつ
そのメモリが実行環境か翻訳環境かの意識はあるか?
0768デフォルトの名無しさん (アウアウ Sa01-26Kx)2016/08/03(水) 21:26:02.48ID:tpuDUd8ra
だったら定義の定義を、言えって
0769デフォルトの名無しさん (アウアウ Sa01-26Kx)2016/08/03(水) 21:26:44.71ID:tpuDUd8ra
偉そうなこと抜かしてる割には、結局知らんのかいwwww
0770デフォルトの名無しさん (ワッチョイ d6c0-yFKW)2016/08/03(水) 21:27:42.07ID:nLkvqRyM0
ふと思ったんだが最適化でレジスタに確保されてしまった変数はアドレス取れるの?
0771デフォルトの名無しさん (スプッッ Sd19-Y0VN)2016/08/03(水) 21:29:08.10ID:tfmCVBfOd
どこにオブジェクトがあるんだよ
0772デフォルトの名無しさん (ワッチョイ 7c33-Y0VN)2016/08/03(水) 21:30:10.87ID:d/dZHX0p0
>>770
それは最適化されないと思われ。
0773デフォルトの名無しさん (ワッチョイ b2a6-oK17)2016/08/03(水) 22:13:25.66ID:BOTm7b5n0
>>754
どこに何個の変数があるんだよ
0774デフォルトの名無しさん (オッペケ Sr69-Y0VN)2016/08/03(水) 22:27:32.41ID:wmDQLAzIr
764を読んでもこのようなレスが出てくるのが不思議だ。
どうしてオブジェクトの定義のみが定義だと盲信してしまったのか

class A {}; // クラスの定義
namespace {} // 名前空間の定義
namespace aho = std;//エイリアスの定義
template<typename T> void f() {}//テンプレートの定義
int a = 0; //オブジェクト(変数)の定義
0775デフォルトの名無しさん (ワッチョイ 9c41-MYFu)2016/08/03(水) 22:28:34.94ID:h9b7IxGI0
例を挙げるのではなく、定義の定義をいえないのか?
0776デフォルトの名無しさん (オッペケ Sr69-Y0VN)2016/08/03(水) 22:34:12.86ID:wmDQLAzIr
言おうとしたら766に止められたので…
規格の3.1段落2で定義と規定されたものが定義
0777デフォルトの名無しさん (ワッチョイ b2a6-oK17)2016/08/03(水) 22:35:15.79ID:BOTm7b5n0
>>775
まず自分が「アドレス」の定義を言ってからにすれば?
0778デフォルトの名無しさん (ワッチョイ 9c41-MYFu)2016/08/03(水) 22:40:43.22ID:h9b7IxGI0
ばかはだまってろ
0779デフォルトの名無しさん (スププ Sdb8-Y0VN)2016/08/03(水) 22:45:55.19ID:zTK4B9l9d
規格で定義とされるものが企画上の定義の定義
0780デフォルトの名無しさん (ワッチョイ b2a6-oK17)2016/08/03(水) 22:49:13.37ID:BOTm7b5n0
強気だな
0781デフォルトの名無しさん (ワッチョイ 9c41-MYFu)2016/08/03(水) 22:49:50.10ID:h9b7IxGI0
そんなこと書くなら、漢字くらい間違えずに書けよw
0782デフォルトの名無しさん (ワッチョイ df12-xLev)2016/08/03(水) 22:57:03.34ID:N9MmOijn0
早く>>756の恥ずかしい書き込みが流れると良いですね
0783デフォルトの名無しさん (ワッチョイ d5e6-Y0VN)2016/08/03(水) 23:01:08.38ID:L2GgWGz30
>>754の言う定義って言うのはアドレスがとれるもののことだそうだから定義じゃないよ
0784デフォルトの名無しさん (ワッチョイ 9c42-oK17)2016/08/03(水) 23:11:16.91ID:qmXkrxcu0
建物の定礎みたいだな
0785デフォルトの名無しさん (ワッチョイ 768b-UbOe)2016/08/03(水) 23:25:38.25ID:bs94iYaP0
GCCはCで書かれているのでは…
0786デフォルトの名無しさん (ワッチョイ 6741-iWsk)2016/08/04(木) 00:06:53.91ID:GwQfuXTc0
答えれずに質問されたさいの間違いをつつくことしかできない連中ばっかだなwww
0787デフォルトの名無しさん (ワッチョイ df13-yTU/)2016/08/04(木) 00:11:01.72ID:zknMnxXT0
>>785
最近はc++だとか
0788デフォルトの名無しさん (ワッチョイ 6742-+Lqe)2016/08/04(木) 01:51:50.41ID:02Ni6VFF0
gcc-6.1.0.tar.gz 展開してソース見たけど、Cだな
0789デフォルトの名無しさん (ワッチョイ cb7b-bKmi)2016/08/04(木) 02:37:59.26ID:z8XBjF8D0
コンパイラみたいなソフトだったら例外ですっ飛ばすとかあんま必要ないしな。
0790デフォルトの名無しさん (ワッチョイ df73-40WA)2016/08/04(木) 06:04:40.50ID:w3J0CztI0
ぐぐった
宣言ー外部に表明
定義ー概念内容をはっきりと定めること

>>754
表明?ー意見・意志などをひとの前にはっきりと表し示すこと
>>767が適切に答えている
実行環境に直接関係するのか、翻訳環境でのみ利用されるのか
0791デフォルトの名無しさん (ワッチョイ eb7b-uSQd)2016/08/04(木) 06:41:20.15ID:Mm46IUtm0
>>788
gccの下に拡張子が .cc のファイルあるだろ
0792デフォルトの名無しさん (ドコグロ MM0f-d+5h)2016/08/04(木) 06:46:46.60ID:l9MpwXpkM
>>770
アドレス取るとメモリー上に確保する
インライン関数とかもアドレス取るとそれようの関数を生成したりする
0793デフォルトの名無しさん (スップ Sdef-d+5h)2016/08/04(木) 08:39:12.95ID:Xnj5FLHOd
>>775みたいな再帰的な質問はルール違反だな。
0794デフォルトの名無しさん (ワッチョイ 6742-+Lqe)2016/08/04(木) 08:42:31.88ID:02Ni6VFF0
>>791
あるな。見落としてたすまない。
0795デフォルトの名無しさん (ワッチョイ efa6-giu7)2016/08/04(木) 09:02:08.35ID:yc16QQH40
宣言は重複できる
定義は重複できない
0796デフォルトの名無しさん (ワッチョイ f3c9-d+5h)2016/08/04(木) 11:34:04.46ID:uGkDxVxl0
定義も重複できます。
インライン関数、クラス、テンプレートなどなど。
0797デフォルトの名無しさん (ワッチョイ 6741-iWsk)2016/08/04(木) 12:05:59.70ID:GwQfuXTc0
結局定義の意味を知らないやつばっかじゃんw
0798デフォルトの名無しさん (スップ Sdef-d+5h)2016/08/04(木) 12:10:07.43ID:Xnj5FLHOd
>>797
最初の質問をほっぽらかしてるから定義問題なんか誰も答えないよ
0799デフォルトの名無しさん (ワッチョイ efa6-giu7)2016/08/04(木) 12:13:33.04ID:yc16QQH40
>>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
0800デフォルトの名無しさん (スプッッ Sd3f-d+5h)2016/08/04(木) 12:15:38.99ID:NBIT0foTd
>>799
同一ソースファイル内で重複はそりゃだめだろ。
0801デフォルトの名無しさん (ワッチョイ efa6-giu7)2016/08/04(木) 12:18:52.00ID:yc16QQH40
で、定義は重複できるのか?
0802デフォルトの名無しさん (スップ Sdef-d+5h)2016/08/04(木) 12:26:18.94ID:Xnj5FLHOd
そんな ODR C++ でぐぐればすぐ出てくる質問すんな
0803デフォルトの名無しさん (ドコグロ MM0f-d+5h)2016/08/04(木) 12:53:11.55ID:l9MpwXpkM
>>793
前の「定義」と後ろの「定義」は対象が違う
そんな区別もできないおんぼろパーサーは捨ててしまえ
0804デフォルトの名無しさん (ワッチョイ efa6-giu7)2016/08/04(木) 12:58:46.48ID:yc16QQH40
出た、困ったらグーグルに丸投げして逃げるやつ
0805デフォルトの名無しさん (スップ Sdef-d+5h)2016/08/04(木) 13:07:55.31ID:Xnj5FLHOd
>>803
そういう意味ではなく、もとの質問からどんどん遡っていつまでも終わらない質問を繰り返す態度を指して「再帰的な質問」と言っている。
0806デフォルトの名無しさん (スップ Sdef-d+5h)2016/08/04(木) 13:12:06.88ID:Xnj5FLHOd
だいたい>>765の質問が悪い。そんなの自分で調べろ。くぐれと言われるのも当然だ。
もとの質問(>>756とか)に対する回答が来てるのに無視してる態度が気に食わん。
0807デフォルトの名無しさん (ワッチョイ 4be6-d+5h)2016/08/04(木) 13:56:23.92ID:Kzc2I9D20
まともな質問ができなけりゃまともな答えは返ってこないわな
0808デフォルトの名無しさん (ワッチョイ efa6-giu7)2016/08/04(木) 14:11:48.39ID:yc16QQH40
効いてる、効いてるw
0809デフォルトの名無しさん (スップ Sdef-d+5h)2016/08/04(木) 14:21:54.23ID:Xnj5FLHOd
とにかく>>756の
「定義ならアドレスが取れるはずですよね?」

が始まりだから。
0810デフォルトの名無しさん (アウアウ Sa47-82/a)2016/08/04(木) 14:38:30.51ID:oA3L4Jsua
じゃ、定義とはなんですか?
0811デフォルトの名無しさん (ワッチョイ 6fcc-d+5h)2016/08/04(木) 15:25:13.99ID:BIfvsNQ70
定義と宣言の説明だけで無駄レスし過ぎだおまいら
0812デフォルトの名無しさん (ドコグロ MM0f-d+5h)2016/08/04(木) 15:36:45.86ID:l9MpwXpkM
>>805
遡っているならいつかは辿り着くだろうし
堂々巡りしてるなら業界的にはループしてる
って言うんじゃね?
0813デフォルトの名無しさん (ワッチョイ cb7b-TDLi)2016/08/04(木) 15:47:34.64ID:giSm9Lrj0
宣言は同じものを2行並べて書いてもエラーにならない
定義は同じものを2行並べて書くとエラーになる

これであってる?
0814デフォルトの名無しさん (ワッチョイ 6fcc-d+5h)2016/08/04(木) 15:53:32.09ID:BIfvsNQ70
宣言というのはソイツがナニモノであるか表記したもの
定義というのはソイツの中身を記述したもの
アドレスはソイツをインスタンスしたところで初めて取れる
0815デフォルトの名無しさん (ワッチョイ efa6-giu7)2016/08/04(木) 16:31:33.03ID:yc16QQH40
へー、じゃクラステンプレートはインスタンスしただけでアドレスを持つようになるのか
0816デフォルトの名無しさん (ワッチョイ 7b7b-o/gb)2016/08/04(木) 16:53:24.54ID:u/EohbaA0
バ カ
0817デフォルトの名無しさん (ワッチョイ 6fcc-d+5h)2016/08/04(木) 17:25:37.28ID:BIfvsNQ70
>>815
最適化の具合による
0818デフォルトの名無しさん (ワッチョイ 6fcc-d+5h)2016/08/04(木) 17:27:02.90ID:BIfvsNQ70
ていうかインスタンス化してアドレスのない構造体なんかないだろ
0819デフォルトの名無しさん (スップ Sdef-d+5h)2016/08/04(木) 18:14:05.28ID:Xnj5FLHOd
テンプレートのインスタンス化って
using myVector = std::vector<myClass>;
しただけでインスタンス化したことになるんだっけ?
(オブジェクトは作ってない)
0820デフォルトの名無しさん (ワッチョイ 6fcc-d+5h)2016/08/04(木) 18:27:58.43ID:BIfvsNQ70
それは単なるアイリアスだろ
0821デフォルトの名無しさん (ワッチョイ efa6-giu7)2016/08/04(木) 18:28:06.63ID:yc16QQH40
そゆこと
0822デフォルトの名無しさん (アウアウ Sa47-82/a)2016/08/04(木) 18:29:14.33ID:p8X98lhoa
>>820
アイリアスwww
0823デフォルトの名無しさん (ワッチョイ efa6-giu7)2016/08/04(木) 18:30:04.62ID:yc16QQH40
void func(std::vector<myClass>* str)
{
std::cout << str;
}
int main() { func(nullptr); }
で、どこにアドレスがあるんだ?
最適化であったりなかったりするのか?
0824デフォルトの名無しさん (ワッチョイ 6fcc-d+5h)2016/08/04(木) 18:35:34.77ID:BIfvsNQ70
この馬鹿手に負えないな
0825デフォルトの名無しさん (スップ Sdef-d+5h)2016/08/04(木) 18:36:50.28ID:Xnj5FLHOd
そうだな>>819では実体化されないとわかった。
実オブジェクトを生成するか、
template class std::vector<myClass>;
としなければならないと今知った。
0826デフォルトの名無しさん (ワッチョイ efa6-giu7)2016/08/04(木) 18:39:02.25ID:yc16QQH40
手に負えないと正直にぬかしたか
0827デフォルトの名無しさん (オッペケ Sr07-d+5h)2016/08/04(木) 18:40:34.11ID:10JPHxlsr
>>818
少なくともISO/IEC 14882:2003にはアドレスを持つ構造体は無いぞ
0828デフォルトの名無しさん (ワッチョイ 6fcc-d+5h)2016/08/04(木) 18:41:26.17ID:BIfvsNQ70
strとnullptrがモロにアドレスだろ
で、アドレスがどこにあるかわからんとか寝ぼけてんの?
0829デフォルトの名無しさん (ワッチョイ 6fcc-d+5h)2016/08/04(木) 18:43:22.58ID:BIfvsNQ70
>>827
言い方が悪かった
構造体をインスタンス化した実体な
0830デフォルトの名無しさん (オッペケ Sr07-d+5h)2016/08/04(木) 19:00:44.98ID:10JPHxlsr
>>829
どうしたいきなり
>>815は型であるクラスの定義(クラステンプレートをインスタンス化したもの)の話をしていたのに
突然 、変数の話をしだすなんて
0831デフォルトの名無しさん (オッペケ Sr07-d+5h)2016/08/04(木) 19:02:19.74ID:10JPHxlsr
>nullptrがモロにアドレスだろ
細かいことだが、んなこたーない
0832デフォルトの名無しさん (ワッチョイ 6fcc-d+5h)2016/08/04(木) 19:06:08.42ID:BIfvsNQ70
>>830 テンプレートもインスタンス化したら実体をもつわけだが
真性の馬鹿なのか?
0833デフォルトの名無しさん (ワッチョイ 6fcc-d+5h)2016/08/04(木) 19:07:31.61ID:BIfvsNQ70
>>831
じゃnullptrがアドレスじゃない証明をしてみろよ
0834デフォルトの名無しさん (ワッチョイ 6fcc-d+5h)2016/08/04(木) 19:10:55.23ID:BIfvsNQ70
日本のコーダの質が知れるわw馬鹿しか居ないw
0835デフォルトの名無しさん (オッペケ Sr07-d+5h)2016/08/04(木) 19:12:36.44ID:10JPHxlsr
>>832
その実体にはアドレスが無いだろう、
というのが>>815のレスなのだが
どうして「テンプレートをインスタンス化した実体(=クラス)」と
「クラスをインスタンス化した実体」をすり替えたがるのか
0836デフォルトの名無しさん (スップ Sdef-d+5h)2016/08/04(木) 19:13:43.59ID:Xnj5FLHOd
結局>>756の
「定義ならアドレスが取れるはずですよね?」
という質問の意味はなんだったんだ?

「その型のポインタ変数にnullptrを代入できるか」ってことならむろんyesだが、それなら宣言だけでもできるしな。
0837デフォルトの名無しさん (ワッチョイ 7f7b-tuv5)2016/08/04(木) 19:22:45.01ID:Wyyp2Ekr0
>>833
nullptrは型情報をもっている
アドレスは型情報を持たない
0838デフォルトの名無しさん (オッペケ Sr07-d+5h)2016/08/04(木) 20:15:48.72ID:xD/P91aqr
>>836
頭のおかしな奴に論理性を求めてはいけない

>>754
>class Foo{};って宣言?定義?
 ↓
>>756(本人)
>定義ならアドレスが取れるはずですよね?

これを見ただけで相手にする価値が無いことは明らか
0839デフォルトの名無しさん (ワッチョイ bf02-+Lqe)2016/08/04(木) 20:35:45.14ID:OXXVH+Z60
まずコーダとかSIer丸出しな言葉使いやめたら
0840デフォルトの名無しさん (オッペケ Sr07-d+5h)2016/08/04(木) 20:41:47.51ID:xD/P91aqr
>>833
nullptrはポインターでもメンバーへのポインターでもなく、整数型でもないとされている。
むしろこれがアドレスであると結論付ける根拠が何ら見いだせない
0841デフォルトの名無しさん (ワッチョイ 2f68-8B3a)2016/08/04(木) 20:50:04.03ID:tght595J0
class A : public B<C> { ... }
みたいにテンプレートクラスBを継承した場合、Aは普通のクラスになるんですか?それともテンプレートクラス?
0842デフォルトの名無しさん (ワッチョイ bf02-+Lqe)2016/08/04(木) 20:51:26.39ID:OXXVH+Z60
Aがテンプレートならテンプレートクラス
0843デフォルトの名無しさん (ワッチョイ 6741-iWsk)2016/08/04(木) 20:52:08.14ID:GwQfuXTc0
結局答えは出せたの?
定義の意味は?
アドレスが云々が間違えてたとして結局は答えだせないんでしょwwww
0844デフォルトの名無しさん (ワッチョイ efa6-giu7)2016/08/04(木) 20:52:26.72ID:yc16QQH40
>>832
template <typename> class afo { };
afo<int>* p;
どこに実体があるんだよ!
0845デフォルトの名無しさん (ワッチョイ 2f68-8B3a)2016/08/04(木) 20:52:29.73ID:tght595J0
>>842
継承元に関係なくA次第ってことですね
どうもありがとう
0846デフォルトの名無しさん (オッペケ Sr07-d+5h)2016/08/04(木) 20:58:24.42ID:xD/P91aqr
>>843
>結局は答えだせないんでしょ
昨日「規格の3.1段落2」というヒントをやったけど、
日本語あまり得意じゃなかった?
0847デフォルトの名無しさん (スップ Sd6f-d+5h)2016/08/04(木) 21:34:07.30ID:0+b6LrNLd
民明書房刊「C++の定義と宣言 その留意点」(江添亮)
0848デフォルトの名無しさん (ワッチョイ bba2-d+5h)2016/08/04(木) 21:42:59.85ID:cCkuFoiR0
江田島平八やろ
0849デフォルトの名無しさん (ワッチョイ f763-d+5h)2016/08/04(木) 23:21:53.70ID:lGnnrOsl0
そろそろ次の人どうぞ
0850デフォルトの名無しさん (ワッチョイ f317-d+5h)2016/08/05(金) 01:16:51.21ID:Q1teh0cP0
inline関数ってコンパイル時に展開しといて実行時のオーバヘッドをなくせるけど、それなら全部inlineて書いたほうがお得だよね
inline関数のデメリットは何ですか?
0851デフォルトの名無しさん (ワッチョイ 7312-r8bK)2016/08/05(金) 01:40:59.24ID:VlcB2rw70
プログラムのサイズが超でかくなる
CPUのキャッシュのミスヒット率が上がるかもしれない
どうせ、仮想関数はインライン展開されない

一番問題なのは、コンパイル時間が超長くなる
インライン関数はヘッダに書く
ということは、それを読み込む全ての.cppファイル・・・
な!
0852デフォルトの名無しさん (ワッチョイ f7cf-r8bK)2016/08/05(金) 01:45:58.39ID:h9gyRaS30
>>850
・分割コンパイルによるビルド時間の効率化と逆行する。
・inline っていっぱい書くのがめんどい。良いコンパイラなら勝手にやってくれるところなのに。
0853デフォルトの名無しさん (ワッチョイ 6fcc-d+5h)2016/08/05(金) 04:17:33.66ID:+HzEYeYM0
再帰はインラインできねぇだろハゲ!
0854デフォルトの名無しさん (ワッチョイ f3e7-PVLz)2016/08/05(金) 04:20:54.85ID:qb9JFZzp0
末尾再帰でループに展開できればあるいは・・・。
0855デフォルトの名無しさん (ワッチョイ 4fc0-QI3I)2016/08/05(金) 05:40:43.21ID:cHxSirtv0
>>853
そんなに煽るとレスが再帰するよ
0856デフォルトの名無しさん (ワッチョイ f763-d+5h)2016/08/05(金) 06:49:39.69ID:KuwiCwk00
C++17で変数もinline指定出来るようになったら
インクルードファイルに多量のグローバル変数が溢れる予感
0857デフォルトの名無しさん (オッペケ Sr07-d+5h)2016/08/05(金) 07:59:52.63ID:9H/d0cigr
>>853
そんな、インライン関数とインライン展開の話をすり替えられても…
0858デフォルトの名無しさん (ワッチョイ bf02-+Lqe)2016/08/05(金) 08:39:49.67ID:w0huO64O0
プリコンパイル済みヘッダに書かれた関数はインライン展開できる?
0859デフォルトの名無しさん (ワッチョイ f3e7-PVLz)2016/08/05(金) 08:41:00.76ID:qb9JFZzp0
環境依存じゃね?
0860デフォルトの名無しさん (ワッチョイ bba2-d+5h)2016/08/05(金) 08:44:24.26ID:DFO/+W5I0
ヘッダファイルのプリコンパイルすら環境依存だしね。。。
0861デフォルトの名無しさん (ワッチョイ efa6-giu7)2016/08/05(金) 18:02:13.50ID:g8dNuMjF0
858はアセンブラが読めないわけね
0862デフォルトの名無しさん (オッペケ Sr07-d+5h)2016/08/05(金) 20:47:59.48ID:9H/d0cigr
環境依存とは言うがが
プリコンパイルしたためにインライン展開されなくなってしまったら
プリコンパイルの存在意義は無いに等しい
0863デフォルトの名無しさん (ワッチョイ 2fc2-4YG7)2016/08/05(金) 23:39:23.84ID:XaBR5PYt0
心配するな。
お前の存在意義だって無いに等しいんだからさ。
0864デフォルトの名無しさん (ワッチョイ bbbf-d+5h)2016/08/05(金) 23:44:30.05ID:7g3iCo2L0
>>862
どう思おうが君の自由でもあり僕の自由でもあり。
0865デフォルトの名無しさん (アウアウ Sa47-DOZo)2016/08/06(土) 02:10:30.65ID:GoVmW8oka
なんでいつ開いても喧嘩してるのこのスレ
0866デフォルトの名無しさん (ワッチョイ df4d-d+5h)2016/08/06(土) 03:59:14.66ID:+SerLQJ20
どのスレもこんな感じだろ。
昔から日本のプログラマはレベル低い割に性格悪くてな。
Stackoverflow辺りの建設的なやりとりと比べると…
0867デフォルトの名無しさん (ワッチョイ 6fcc-d+5h)2016/08/06(土) 04:40:37.89ID:BLz0TWEd0
屁理屈言うと頭良さそう的な糞風潮ジャアップw
0868デフォルトの名無しさん (ワッチョイ 6f3c-d+5h)2016/08/06(土) 06:46:22.75ID:y/TrjN6T0
自由だけど常識的には >>862 みたいに考えるわな
0869デフォルトの名無しさん (ブーイモ MM6f-d+5h)2016/08/06(土) 08:44:07.85ID:GOiKP7RVM
なぜ色々な考えがある中で自分の考えが多数派と思うの?
規格と違って明確な答えなんて出ないと思うのだが
0870デフォルトの名無しさん (ワッチョイ bbbf-d+5h)2016/08/06(土) 08:54:34.06ID:cMWpKQUH0
もうやめときなよ。
>>862みたいな否定表現を使う偏向思想な人、マには多い気がするけど、答えがないから主観での宗教論争になりがち。
こういう人を相手にするのは、ディベートの練習にはいいかもだけど、会社では時間の無駄。
肯定表現を使ってくれれば有意義な議論ができるんだけどね。
0871デフォルトの名無しさん (ワントンキン MM2f-uSQd)2016/08/06(土) 09:18:43.60ID:AzdnJyWBM
よし、お前ら自分のGitHubアカウント晒そうぜ!
書いたコード見ればレベル低いかどうか丸わかりさ!
0872デフォルトの名無しさん (ワッチョイ 7f7b-tuv5)2016/08/06(土) 09:45:32.37ID:4oIDfdFe0
>>870
お前のような非建設的な発言より>>862の方が説得力があって、プリコンパイルドヘッダーを使っても、
インライン展開されない事は無いだろうと推測できる

むしろ、>>858ができないかも?という推論に至った方が異端
できなくする合理的な理由は無いだろう
0873デフォルトの名無しさん (ワッチョイ f3e7-PVLz)2016/08/06(土) 09:46:04.35ID:Fje4jw7f0
yukicoderたのしー。
0874デフォルトの名無しさん (アウアウ Sa47-DOZo)2016/08/06(土) 10:03:09.75ID:GoVmW8oka
ついでに競プロのレーティングも付記
0875デフォルトの名無しさん (ワッチョイ 4be6-d+5h)2016/08/06(土) 10:03:30.01ID:WviBn9P10
>>862程度の表現が嫌で有意義な議論ができなくなるってすごいな
会社でやって行きづらそう
0876デフォルトの名無しさん (ワッチョイ 6f3c-d+5h)2016/08/06(土) 13:40:27.06ID:y/TrjN6T0
議論では勝てそうにないから
言い方に難癖つけようってことでしょ
それでも勝てないと人格攻撃
にちゃんではよくみる光景
0877デフォルトの名無しさん (ワッチョイ efa6-giu7)2016/08/06(土) 15:19:34.98ID:rSXSUUu30
C++スレでC++でない話だけ100%のレスするやつな
0878デフォルトの名無しさん (ワッチョイ bf02-+Lqe)2016/08/06(土) 19:21:45.03ID:giMifQMJ0
議論というのは新しい提案にたいして行うものであって
決まっていることを無い知恵絞って自分の主張を認めさせるものではない
0879デフォルトの名無しさん (スップ Sd6f-d+5h)2016/08/06(土) 19:42:09.28ID:Xkhj5Nx+d
みんながそう控えめならいいんだけどね
0880デフォルトの名無しさん (ワッチョイ cb7b-bKmi)2016/08/06(土) 20:21:02.04ID:SlzxzKwb0
へ理屈語るにはうってつけの言語。それがc++。
0881デフォルトの名無しさん (オッペケ Sr07-d+5h)2016/08/06(土) 20:22:42.16ID:vFciff3ar
自分の主張を認めさせる必要が有る時点で
決まっていないことだろうに。
それに議論が新しい提案に対して行うものだなんて
糖質は今日も幻覚が酷いな
0882デフォルトの名無しさん (ブーイモ MM67-d+5h)2016/08/06(土) 21:27:34.52ID:U1DuUqbyM
だから、そういうのを我慢して
書き込まないんだよ
子供じゃないんだから
0883デフォルトの名無しさん (ワッチョイ 6741-PVLz)2016/08/06(土) 21:52:20.89ID:Ng0KAkRk0
くだらねー連中ばっかだな
0884デフォルトの名無しさん (ワッチョイ 2fc2-4YG7)2016/08/06(土) 22:00:48.66ID:fG7kY+EI0
baka bakka
0885デフォルトの名無しさん (アウアウ Sa47-DOZo)2016/08/07(日) 02:46:25.23ID:ypu2c+2fa
>>884
ルリルリ
0886デフォルトの名無しさん (ワッチョイ 4fc0-QI3I)2016/08/07(日) 05:27:38.94ID:qJNsOOv30
日本語プログラミング言語『なでしこ』スレ6.1©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1458981074/
0887デフォルトの名無しさん (ワッチョイ f763-d+5h)2016/08/07(日) 05:35:17.61ID:W0a9UwyT0
スレ違いは去れ
0888デフォルトの名無しさん (ワッチョイ 6741-PVLz)2016/08/07(日) 06:01:23.74ID:lFUkCgKK0
C++を習得するのにどれくらいかかりますか?
秀丸のようなテキストエディタくらいが書けるくらいになりたい
0889デフォルトの名無しさん (ワッチョイ ef9f-OcIm)2016/08/07(日) 06:21:20.08ID:q5z6NkaV0
秀丸は20年以上開発が続いていると思うのでそのくらいを目安に
0890デフォルトの名無しさん (ワッチョイ efa6-giu7)2016/08/07(日) 07:29:49.48ID:GpzWvVwt0
>>888
俺みたいに頭悪いやつでもせいぜい2年
TCPLの初版からやってるが、
C++98, C++11が出るたびにまた初心者からやり直しで
それが収まってくるのがだいたい1年強
0891デフォルトの名無しさん (JP 0H67-EXAE)2016/08/07(日) 08:28:34.84ID:xBB6TA9CH
秀丸は Win95 より前から現役だから
VC6 程度マスターできれば足りるはず

しかし現状のスキル一切提示せずにどれくらいと聞いても
0892デフォルトの名無しさん (ワッチョイ 7b7b-o/gb)2016/08/07(日) 09:02:30.00ID:3DCDp1x40
言語の習得と有用なアプリを作れる才能は別のこと
0893デフォルトの名無しさん (ワッチョイ f37b-d+5h)2016/08/07(日) 09:23:24.83ID:EKTcu/DK0
関数のプロトタイプ宣言とヘッダーファイルの関係についておしえて。
0894デフォルトの名無しさん (オッペケ Sr07-d+5h)2016/08/07(日) 10:40:35.94ID:FG1Pf9COr
ではまずそのヘッダーファイルとやらの定義を伺おうか
0895デフォルトの名無しさん (アウアウ Sa47-82/a)2016/08/07(日) 12:50:03.51ID:qMBdgW/Da
>>891
intとlongの違いがわからないれべるです
0896デフォルトの名無しさん (ワッチョイ 7fcb-Kd7t)2016/08/07(日) 12:58:22.95ID:XQNWrGwh0
これは高度!
0897デフォルトの名無しさん (ワッチョイ f3c9-d+5h)2016/08/07(日) 13:04:27.46ID:aG2G1G5u0
intとlongは同じだからな〜
0898デフォルトの名無しさん (オッペケ Sr07-d+5h)2016/08/07(日) 13:19:42.26ID:FG1Pf9COr
つまり897とタメをはるレベル
0899デフォルトの名無しさん (ワッチョイ bf02-+Lqe)2016/08/07(日) 13:48:39.68ID:t/bIx9j80
>>889
最初から秀丸のコピーを作るつもりでやればそんなにかからないけどな
0900デフォルトの名無しさん (JP 0H67-EXAE)2016/08/07(日) 13:50:07.72ID:xBB6TA9CH
釣りっぽい
0901デフォルトの名無しさん (ワッチョイ cb7b-bKmi)2016/08/07(日) 15:33:20.88ID:HWUltxTh0
そりゃ極論すればベターc な使い方してても作れるしな。
0902デフォルトの名無しさん (ワッチョイ 2bdc-buIf)2016/08/07(日) 15:49:58.64ID:i5zx9v470
秀丸のクローンだかコピーだかをC++で作ったら
ぜひ製品名「禿丸エディタ」で公開してくれ。
0903デフォルトの名無しさん (ワッチョイ bbbf-d+5h)2016/08/07(日) 16:30:41.57ID:SU1DoGHK0
おーい禿丸
0904デフォルトの名無しさん (ワッチョイ 7730-+Lqe)2016/08/07(日) 17:02:56.43ID:9x/mUqeF0
のむらしんぼじゃねぇのかよ
0905デフォルトの名無しさん (ワッチョイ 7f36-82/a)2016/08/07(日) 17:42:43.71ID:HBtfJ5u10
あの程度のものなら1年あれば作れるようになる
0906デフォルトの名無しさん (ワッチョイ 7b7b-o/gb)2016/08/07(日) 17:54:38.08ID:3DCDp1x40
と、永遠に作れないゴミがのたまっています
0907デフォルトの名無しさん (ワッチョイ 7f36-82/a)2016/08/07(日) 17:58:45.56ID:HBtfJ5u10
たかがテキストエディタだろ
何が難しいの?
0908デフォルトの名無しさん (ブーイモ MM67-d+5h)2016/08/07(日) 18:29:00.35ID:uNCwY4UvM
つ https://www.finseth.com/craft/
がんがれ
0909デフォルトの名無しさん (ワッチョイ 7b7b-o/gb)2016/08/07(日) 18:45:50.14ID:3DCDp1x40
厚かましい全能感を抱いている無能はこの業界にはいっぱいいます
そういうのを見ぬいてパートナー候補から切り捨てていくのがこの業界で生きていく第一の条件です
0910デフォルトの名無しさん (ワッチョイ 7f36-82/a)2016/08/07(日) 18:46:38.49ID:HBtfJ5u10
読んでみたけど何が難しいの?
0911デフォルトの名無しさん (JP 0H67-EXAE)2016/08/07(日) 19:15:24.22ID:xBB6TA9CH
メモリ操作のオーバーヘッドを対策できて
IME制御やマルチバイト文字のクソ面倒くさいのを超えたら
大体出来たようなものかな

あっ検索条件と結果のハイライトが改行をまたげるかどうかは相談してね
0912デフォルトの名無しさん (オッペケ Sr07-d+5h)2016/08/07(日) 19:42:47.91ID:FG1Pf9COr
秀丸は結構頑張ってるとは思うけど、
C++ソースの強調表示には対応してなかったような。
クソだ
0913デフォルトの名無しさん (ワッチョイ 6742-+Lqe)2016/08/07(日) 19:44:27.25ID:bbyjljOW0
マクロも頼むわ
0914デフォルトの名無しさん (ワッチョイ bfcd-82/a)2016/08/07(日) 20:16:02.33ID:4DNn9i2W0
>>912
してるよ
0915デフォルトの名無しさん (オッペケ Sr07-d+5h)2016/08/07(日) 21:19:16.23ID:FG1Pf9COr
>>912
今最新版インスコしてみたが全然正しく表示されないのは俺だけ?
C++14用のファイルも読み込ませた

auto a=200;
auto b=100ms;
auto c=1'000e-059;
auto d=LR"(abc
def\nefg)";
struct final final {};
0916デフォルトの名無しさん (オッペケ Sr07-d+5h)2016/08/07(日) 21:19:41.43ID:FG1Pf9COr
間違えた
>>914だった
0917デフォルトの名無しさん (ワッチョイ ef9f-OAZv)2016/08/07(日) 21:33:13.04ID:A9VPt4fN0
正しいC++ソースの強調表示をISOに提案しといて
0918デフォルトの名無しさん (ワッチョイ efa6-giu7)2016/08/07(日) 22:54:27.59ID:GpzWvVwt0
桁区切りやR文字列は早くなんとかして欲しいな
プログラム打ってて、軽いが継続的なストレスだ
0919デフォルトの名無しさん (オッペケ Sr07-d+5h)2016/08/07(日) 23:03:42.36ID:FG1Pf9COr
何にでも応用できそうだな
「たかがコンパイラーのフロントエンドだろ。何が難しいの?」
「たかが会計ソフトだろ。何が難しいの?」
「たかがみずほ銀行の次期インフラ設計・構築だろ。何が難しいの?」
0920デフォルトの名無しさん (ワッチョイ bfcd-82/a)2016/08/08(月) 00:19:21.07ID:MYFeFApz0
実際そうだろ
ソフトウェアは作った通りにしか、動かないんだから、きちんと作ればいいだけ。
何が難しいの?
0921デフォルトの名無しさん (ワッチョイ bf02-+Lqe)2016/08/08(月) 00:22:17.57ID:7driPpZU0
きちんと作る事が
0922デフォルトの名無しさん (ワッチョイ bfcd-82/a)2016/08/08(月) 00:29:45.48ID:4zMTW4DS0
じゃあ、書くのやめろ
0923デフォルトの名無しさん (ワッチョイ 2b75-IMEh)2016/08/08(月) 00:30:04.57ID:pofueGcp0
コンパイラのバグで作った通りに動かねぇんだよ。
0924デフォルトの名無しさん (ワッチョイ f36c-/ZFP)2016/08/08(月) 00:38:21.48ID:Sr1mR0u90
OSのドライバのバグで・・・(´・ω・`)
0925デフォルトの名無しさん (ワッチョイ bfcd-82/a)2016/08/08(月) 01:02:34.45ID:4zMTW4DS0
>>923
コンパイラはソフトウェアではないのか?w
0926デフォルトの名無しさん (アウアウ Sa47-DOZo)2016/08/08(月) 05:32:47.31ID:O+GC8kp4a
顧客の無茶な要求をまとめ上げることが難しい
ときに要求自体が論理的に矛盾していることさえある
0927デフォルトの名無しさん (ワンミングク MM2f-d+5h)2016/08/08(月) 08:00:31.64ID:+PEo0tETM
僕、ブルン定数で新しい法則見つけたよ。
→ FDIV BUG発覚
0928デフォルトの名無しさん (ワッチョイ efa6-giu7)2016/08/08(月) 08:25:43.11ID:hCZZjSTS0
>>926
ほんこれ
0929デフォルトの名無しさん (ブーイモ MM6f-d+5h)2016/08/08(月) 22:47:41.60ID:V6H9Gi+uM
>>920
能力が高いほどプログラミングする機会が少なくなり
底辺プログラマの指揮取りをしてパフォーマンスを発揮しなければいけなくなるところ。
0930デフォルトの名無しさん (ワッチョイ bf02-+Lqe)2016/08/08(月) 23:21:09.96ID:7driPpZU0
SIerの常識
0931デフォルトの名無しさん (ワッチョイ f3e7-PVLz)2016/08/09(火) 05:40:01.21ID:lg+psraJ0
初見でyukiの2番目とけなかったよぉー。
ネットの必勝法なんか興味ないんじゃ。
素数列挙を真面目にやったのが間違いだったか。。。
0932デフォルトの名無しさん (ワッチョイ 2a8b-GBh+)2016/08/11(木) 08:07:02.61ID:/EdBDLFJ0
質問ですが、
Q1. 例外をスローしても呼び出し元で解決できる見込みが無いレベルの事象が
 コンストラクタ内で生じたときどうするのが普通?
 プログラム全体の終了を意図するとして、std::terminate()とstd::abort()ではどっちが弊害が少ないんじゃろうか…
 もしくはより良い別の手段とかあればkwsk

Q2. 汎用ライブラリの設計者が従うべき例外スローのガイドラインとかあったらkwsk
 (std::exception派生クラスのうちで、いつどの例外をスローすべきかとか
0933デフォルトの名無しさん (ワッチョイ 6be7-GBh+)2016/08/11(木) 08:14:32.72ID:q7HGPc2n0
コンストラクタで例外投げんな。デストラクタ動かん。
どうしても投げたかったら、メモリとかの面倒も見たうえで投げるんだ。
止めたいなら、俺はターミネートするけど、以下もある。
http://en.cppreference.com/w/cpp/utility/program/quick_exit
リソース管理がまともなOSなら上で十分。
2は知らん。基本的にロジックエラー投げることが多いけどなぁ。独学だからなぁ。
0934デフォルトの名無しさん (ワッチョイ 2a8b-GBh+)2016/08/11(木) 08:19:32.10ID:/EdBDLFJ0
>>933
質問は例外スロー前提ではない(例外をスローしても呼び出し元で解決できる見込みが無いレベルの事象)なのでよろ
コンストラクタで例外をスローするときの挙動と基本的な作法は知ってるし、
0935934 (ワッチョイ 2a8b-GBh+)2016/08/11(木) 08:23:35.28ID:/EdBDLFJ0
訂正;
誤: 質問は例外スロー前提ではない
正: Q1は必ずしも例外スロー前提ではない

レスのために打鍵してくれたことには感謝してるチュ(はあと
0936デフォルトの名無しさん (ワッチョイ 6be7-GBh+)2016/08/11(木) 08:24:18.19ID:q7HGPc2n0
じゃー識者召喚の儀でも始めるか。
おいでませー。おいでませー。
0937デフォルトの名無しさん (ワッチョイ 66a6-D9eE)2016/08/11(木) 08:56:56.40ID:rhLP6Nry0
std::terminateは、std::set_terminateでフックをかませるが
std::abortは、問答無用で即死という違いがあり、
ユーザー定義のterminateの中で最後に使うのがstd::abort
なので通常はterminateを使い、気安くstd::abortを直で使わない
0938デフォルトの名無しさん (ワッチョイ 2a8b-GBh+)2016/08/11(木) 09:00:42.10ID:/EdBDLFJ0
スマンQ1は質問の仕方がまずかったかもしれん…
あるクラスFooのコンストラクタで例外が生じたとき、後始末したがっているブツとしては
 (1) Fooの基底クラス
 (2) Fooの初期化済みメンバ
 (3) Foo::Foo()の呼び出し元、そのさらに呼び出し元…
 (4) atexit()系の関数で終了ハンドラを登録した実体
 (5) set_unexpected()で例外ハンドラを登録した実体
というのが有り得ると思うので(他にまだあったりする?)、
コモンセンスなど有り得ない気がしてきた…
(多分汎用ライブラリでは全部手当てすべき(理想)なんだけど、
 特に(2)を完璧にやるにはFooの全メンバをstd::unique_ptr<T>化とか、
 レアケースのためにありえない打鍵量を要求される(現実)ので、
 どこまで救って何を切り捨てるのかもFooの設計のうちになりそう?
0939デフォルトの名無しさん (ワッチョイ 557b-D9eE)2016/08/11(木) 09:05:27.91ID:mUl9HZgb0
>呼び出し元で解決できる見込みが無いレベルの事象
普通に例外投げればいいと思うけど?
例えばオープンしようとしたファイルやデバイスが存在しないとかでエラーになった場合とか
呼び出し側で「解決」はできないけどエラーメッセージやログに残すことはできるだろ。
プログラムの終了なんてアプリの最上位層でやるべきことで下位オブジェクトのコンストラクタで
勝手に終了されたらたまんない
0940デフォルトの名無しさん (ワッチョイ 557b-fheI)2016/08/11(木) 09:10:34.14ID:mUl9HZgb0
>>938
>ありえない打鍵量
それが嫌で例外安全にするためにはRAIIを徹底する以外にないんだが
0941デフォルトの名無しさん (ワッチョイ 837b-chrB)2016/08/11(木) 09:15:11.73ID:3pXMLcoQ0
書こうと思ったら >>939 に書かれてた
投げっぱなしで十分
そもそもなぜ一つのクラスがアプリケーション全体で何かしらの解決が不可能と判断できるのかが解らない。
そのクラスは構築出来なかったらどんなアプリケーションでも即終了すべき超重要オブジェクトなのか?
0942デフォルトの名無しさん (オッペケ Sr8d-3Vwo)2016/08/11(木) 09:52:33.91ID:MxNORS6jr
>>933
>コンストラクタで例外投げんな
これは珍説ですね。
「おいvector、お前コンストラクターで例外投げるなよ」
何かおかしいと思わないのかね

>>938
(2)を達成するのは簡単だ。
何もしなくても言語仕様で保証されている
0943デフォルトの名無しさん (オッペケ Sr8d-3Vwo)2016/08/11(木) 10:28:39.49ID:MxNORS6jr
>>941
>なぜ一つのクラスがアプリケーション全体で何かしらの解決が不可能と判断できるのかが解らない

別に有ってもいいだろう。例えばstd::logic_errorをスローする代わりに終了を選んでもおかしくはない。
「バグが有ってプログラマーの意図通りにコンピューターを制御することが出来ていない」状態では
さらにプログラムに従ってエラー処理を行うことは被害を拡大させる恐れがある
0944デフォルトの名無しさん (ワッチョイ 1030-MTuc)2016/08/11(木) 10:48:27.03ID:AX8Vy/ox0
コンストラクタで例外投げんな、じゃなくて
コンストラクタで例外投げるときは気をつけろ、だよね?

gotoみたいに、使いこなせれば有用だけど……って言うのとも、ちょっと違う気がする
0945デフォルトの名無しさん (ワッチョイ 837b-chrB)2016/08/11(木) 11:07:50.42ID:3pXMLcoQ0
>>943
それだったらterminateでもabortでもなくassert の出番だな
0946デフォルトの名無しさん (ワッチョイ 5acb-yY6c)2016/08/11(木) 11:35:35.85ID:ZnWKVyt10
元々の質問者の意図をくみ取れば、この場合は
「スタックトレースかなんかログ吐いて終了〜」
でOKでしょ
復帰の見込みのない実行時エラーが発生したら
終了しとけばよい
0947デフォルトの名無しさん (ワッチョイ 6bc9-3Vwo)2016/08/11(木) 11:51:01.79ID:tB9x70x90
どっちでもいい。
「例外にベストプラクティスなし」
この言葉を覚えておくといい。
0948デフォルトの名無しさん (ワッチョイ 3951-yY6c)2016/08/11(木) 12:39:03.66ID:M8sBWG1y0
そういう、にっちもさっちもいかなくなった状態というのを上位に伝える手段が確保されて
いなかった頃であればしかたなく自分でexit()というのもあったが、それがC++で例外が
使えるようになったからこそ逆に、例外投げておしまいだと思うがなぁ。
0949デフォルトの名無しさん (ワッチョイ 46cc-3Vwo)2016/08/11(木) 13:09:46.88ID:C2OfJDXv0
コンストラクタで例外投げられると new でポインタ得られなくなるからな
メモリリーク起こることも考えられないくらいの馬鹿なんじゃないかと
0950デフォルトの名無しさん (ワッチョイ 557b-fheI)2016/08/11(木) 13:16:06.73ID:mUl9HZgb0
本物の馬鹿って自分以外はすべて馬鹿に見えるらしい
0951デフォルトの名無しさん (ワッチョイ 5c33-3Vwo)2016/08/11(木) 13:21:28.44ID:V006FGRO0
>>949
えっ?!
0952デフォルトの名無しさん (スップ Sda8-3Vwo)2016/08/11(木) 13:53:28.45ID:cZ05OWnFd
関係ないけどnew [] の何番目かのコンストラクタで例外が発生したときの挙動を忘れたな。
最近物忘れがひどいんだ。
0953デフォルトの名無しさん (ワッチョイ 5acb-yY6c)2016/08/11(木) 13:56:09.93ID:ZnWKVyt10
ソフトの性質にもよると思うんよ
世の中には絶対にコケることが許されないプログラムもあるだろうけど
質問者の作っているのは多分違う
0954デフォルトの名無しさん (ワッチョイ 837b-chrB)2016/08/11(木) 14:08:14.32ID:3pXMLcoQ0
汎用ライブラリって書いてるだろ。
だからライブラリが勝手に判断しないのが正解
0955デフォルトの名無しさん (ワッチョイ 30cf-yY6c)2016/08/11(木) 15:20:45.11ID:NtYTAKcg0
>>944
コンストラクタに限らず、例外投げるときに限らず、「RAIIを徹底しろ」のほうが強い。
0956デフォルトの名無しさん (ワッチョイ 612b-xYo4)2016/08/11(木) 15:55:50.87ID:Dv16c/hX0
汎用ライブラリなら例外を投げる旨をドキュメンテーションに書いておけば良いだけでは?
0957デフォルトの名無しさん (ワッチョイ 66a6-D9eE)2016/08/11(木) 17:14:37.14ID:rhLP6Nry0
noexcept(false)
0958デフォルトの名無しさん (ワッチョイ 435f-H7tx)2016/08/11(木) 17:52:29.34ID:QANON0MR0
>>949
馬鹿
0959デフォルトの名無しさん (ワッチョイ 753c-TB/y)2016/08/11(木) 18:55:15.56ID:e/GdTSXc0
例外のスレッド間転送までできる時代。
0960デフォルトの名無しさん (オッペケ Sr8d-3Vwo)2016/08/11(木) 19:01:09.25ID:MxNORS6jr
むしろエラー処理を確実にするために積極的にコンストラクターで投げるのが真っ当な判断にして標準ライブラリのとった選択。
メモリリークが起きると妄想を続けるのは統合失調症を疑った方がいい
0961デフォルトの名無しさん (ワッチョイ 753c-TB/y)2016/08/11(木) 19:08:19.39ID:e/GdTSXc0
エラーをメールで通知する装置で特許とるわ。
0962デフォルトの名無しさん (ワッチョイ 6bc9-3Vwo)2016/08/11(木) 19:13:01.88ID:tB9x70x90
例外は色々問題があることが分かってきたから、
そろそろ新しいエラー処理機構を開発するときじゃないのかね
0963デフォルトの名無しさん (ワッチョイ 98cb-MTuc)2016/08/11(木) 19:23:31.10ID:zAgYLaXI0
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 | はどう書けばいいでしょうか
0964デフォルトの名無しさん (ワッチョイ 30cf-yY6c)2016/08/11(木) 19:26:28.13ID:NtYTAKcg0
>>962
どんな問題があるって?
0965デフォルトの名無しさん (ワッチョイ 463c-3Vwo)2016/08/11(木) 20:03:02.69ID:gnwNFYm10
>>964
>>962 みたいなバカには使いこなせない
0966デフォルトの名無しさん (ワッチョイ 6bc9-3Vwo)2016/08/11(木) 20:06:46.61ID:tB9x70x90
Mortrayによると、

・オーバーヘッド
・リソースリークのリスク
 (RAIIやデストラクタでは投げないなど各種プラクティス
  など対応策はあるが、それに頼らなければならない点も問題)
・構文(インデントが増える、変数宣言の場所も合わせないといけない点など)
・言語依存
 (言語によって実装が異なるため、異なる言語のライブラリを
  組み合わせる際に問題になる)
・保守性

などなどが問題点として挙げられている。
無論、旧来のエラーコードなどによる処理も問題はあるので、
それと比べてという意味ではない。

実際、Googleのコーディング規約では(少なくともC++の)例外は使うな、
となっているね。
0967デフォルトの名無しさん (ワッチョイ 5273-mfOa)2016/08/11(木) 20:39:00.81ID:QQ8c/kYm0
例外処理の問題点ってC++の仕様が原因だと思う
バカが使うと例外処理で致命的な矛盾不具合を無意識に埋め込める
C++は言語仕様が大きくてフリーダム過ぎる
0968デフォルトの名無しさん (ワッチョイ 612b-xYo4)2016/08/11(木) 21:15:35.11ID:Dv16c/hX0
C++は結局高級アセンブリ言語だからプログラマが馬鹿なことするのは止められない
逆に言えば自由を奪わないとも言えるか
0969デフォルトの名無しさん (ワッチョイ 66a6-D9eE)2016/08/11(木) 22:43:17.08ID:rhLP6Nry0
C++例外の問題点はインタープリタ的な実装を強いるところ
catch(...)に入っちまった例外の型と値なんかいらねーし
rethrow_with_nestedみたいな中途半端なもんなくても
dynamic_castくらいてめーでやるから
resume nextがなくてそれに近いことやるためにtry{try{try{とかいい加減にしろ
0970デフォルトの名無しさん (ワッチョイ 7017-3Vwo)2016/08/12(金) 00:25:55.02ID:IZw9DRlO0
例外でなんでも投げられるのと、標準の例外の使い方がおかしいのが問題

logic_errorとruntime_errorを分けている癖に、標準ライブラリで投げる例外の種類が実態とあっていないとか。
0971デフォルトの名無しさん (オッペケ Sr8d-3Vwo)2016/08/12(金) 01:17:31.88ID:JT6YyFbyr
>>963
よくわからんがこんな感じではないだろうか
http://ideone.com/JU1Zex
0972デフォルトの名無しさん (ワッチョイ 397b-uvTe)2016/08/12(金) 22:06:18.91ID:m6KtgNpq0
メモリ管理しなきゃならんのにさらに例外みたいに処理をすっ飛ばすような仕組みを
入れるのは無謀以外のなにものでもない。
例外使うんならガベージコレクションじゃなきゃ辛い。
0973デフォルトの名無しさん (ワッチョイ fc77-3Vwo)2016/08/13(土) 00:42:46.13ID:BLnFqe260
開放してから再スローすればいいだろ…

他人のことまで面倒見ようとするから混乱するんだ。
0974デフォルトの名無しさん (ワッチョイ 837b-chrB)2016/08/13(土) 00:54:44.01ID:3fEaw1ts0
RAIIって知ってる?
0975デフォルトの名無しさん (アウアウ Sa05-sQ3b)2016/08/13(土) 05:42:02.48ID:1v6z5VPia
C++って大いなる『途中』なんだよ。ナウシカの巨神兵をどうにかこうにか早過ぎるまま使いこなそうと無理してる感じの言語
0976デフォルトの名無しさん (ワッチョイ 6be7-GBh+)2016/08/13(土) 05:44:50.99ID:amV5ThBe0
今度タプルが言語化するかもなぁ。なかなか楽しみ。
0977デフォルトの名無しさん (ワッチョイ 397b-uvTe)2016/08/13(土) 08:49:37.69ID:BR3iMMds0
>>974
そういうふうに作るのが難しいって話だろうに。
0978デフォルトの名無しさん (ワッチョイ 7017-3Vwo)2016/08/13(土) 10:02:38.31ID:USGGWD2R0
今時そんなに難しくないよね。
0979デフォルトの名無しさん (ワッチョイ 837b-chrB)2016/08/13(土) 10:27:20.43ID:3fEaw1ts0
RAIIが難しいって…

大体gcのある言語でもfinallyとかusingとかtry-with-resouceとか使わないとだめだろ
gcが例外の何の助けになるんだ
0980デフォルトの名無しさん (JP 0H41-dS8u)2016/08/13(土) 10:30:25.03ID:gPtVaJGMH
raii は対象リソース1個とか寿命がクロスにならない場合は楽ちんだけど
0981デフォルトの名無しさん (ワッチョイ 30cf-yY6c)2016/08/13(土) 11:08:45.48ID:teR/IlhU0
>>980
複数でもクロスでも変わらんと思うんだが、何が言いたいのかな?
0982デフォルトの名無しさん (ワッチョイ 6be7-GBh+)2016/08/13(土) 11:10:13.32ID:amV5ThBe0
次スレってあるの?
0983デフォルトの名無しさん (ワッチョイ 6be7-GBh+)2016/08/13(土) 11:15:10.50ID:amV5ThBe0
RAIIやるときは、やばそうなリソースは単体でラップしてからクラスに持たせるかなぁ。
基本的に意識しないでもいいように書くけど。
0984デフォルトの名無しさん (ワッチョイ 6642-MTuc)2016/08/13(土) 11:19:10.00ID:NPYsKJkE0
まだ立ててない様なので立ててみます
0985デフォルトの名無しさん (ワッチョイ 6642-MTuc)2016/08/13(土) 11:27:12.78ID:NPYsKJkE0
次スレです

http://echo.2ch.net/test/read.cgi/tech/1471055085/

ワッチョイ付け損ねました。すんません。(←アホです)
0986デフォルトの名無しさん (ワッチョイ 463c-3Vwo)2016/08/13(土) 11:38:45.52ID:pozD573T0
>>980
それって単にお前の限界ってことだろ
0987デフォルトの名無しさん (ワッチョイ 557b-fheI)2016/08/13(土) 12:50:35.53ID:sDKArTxu0
RAIIの徹底が困難と感じる人はC++なんて触らないほうがいいよ
0988デフォルトの名無しさん (ワッチョイ 397b-uvTe)2016/08/13(土) 16:34:41.50ID:BR3iMMds0
そんなんやるなら別に関数毎に戻り値チェックするのでも苦労は変わらんだろう。
そんな苦労してまであえて例外投げる作りにする意味が感じられん。
0989デフォルトの名無しさん (ワッチョイ 463c-3Vwo)2016/08/13(土) 16:43:02.82ID:pozD573T0
>>988
> 関数毎に戻り値チェックする
例外を全く理解してないのがよくわかる
0990デフォルトの名無しさん (ワッチョイ 9213-4ddV)2016/08/13(土) 16:43:44.80ID:qrOP+l160
>>988
戻り値チェックは何もしないと握りつぶされる
例外は放っておくと最上階まで流れてそこで全体がストップ
0991デフォルトの名無しさん (ワッチョイ 837b-chrB)2016/08/13(土) 16:57:39.34ID:3fEaw1ts0
RAIIが苦労ってどこが?って話なんだけど。
毎回finallyにclose書くほうが100倍めんどくせえし、C#のIDisposableのようなものを使うならデストラクタ書くのも変わらん
C言語のライブラリ使っててそれらの解放面倒って言ってるならJavaとかC#でそれらを使うほうが面倒だし、C++のライブラリだけどRAIIが徹底されてないならそんな糞ライブラリを使うと判断した奴の責任
0992デフォルトの名無しさん (ワッチョイ 4bb5-3Vwo)2016/08/13(土) 17:39:26.38ID:b+WQY3Kz0
C#とJavaは使う側に書き方の作法を要求するが
C++はRAIIさえしときゃ使う側がスッキリ
0993デフォルトの名無しさん (ワッチョイ 463c-3Vwo)2016/08/13(土) 17:50:51.29ID:pozD573T0
>>991
> C#のIDisposable
これはこれでいいんだけどいかんせん後付けの仕組みだから色々徹底されてないのが残念
0994デフォルトの名無しさん (アウアウ Sa05-sQ3b)2016/08/13(土) 18:08:11.73ID:oqaMTJB0a
RAIIってなんて発音するの?
ライー? RAII使いはライヤー?
0995デフォルトの名無しさん (ワッチョイ 5c33-3Vwo)2016/08/13(土) 18:10:27.04ID:hshtSriw0
発音間違えたら嘘つきになりそうだな…
0996デフォルトの名無しさん (ワッチョイ 66a6-D9eE)2016/08/13(土) 20:40:02.78ID:RXynYxKm0
liar!
0997デフォルトの名無しさん (ガラプー KK41-1kXm)2016/08/13(土) 21:06:07.63ID:vXCHTXVpK
梅
0998はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 19a8-MTuc)2016/08/13(土) 22:06:05.21ID:zk6Wqji80
>>998 なら長門は俺の嫁
0999デフォルトの名無しさん (ワッチョイ 2a02-MTuc)2016/08/14(日) 00:02:50.19ID:1FuetgAk0
あーるえーあいあい
1000デフォルトの名無しさん (ワッチョイ 5c33-3Vwo)2016/08/14(日) 00:35:43.83ID:a16BwEk80
らららライッ!!!
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 84日 23時間 14分 42秒
10021002Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/
http://pink-chan-store.myshopify.com/
レス数が1000を超えています。これ以上書き込みはできません。