エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。
【アップローダー】(質問が長い時はココ使うと便利)
http://codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック)
http://ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用)
前スレ
【初心者歓迎】C/C++室 Ver.99【環境依存OK】
http://echo.2ch.net/test/read.cgi/tech/1469177649/
【初心者歓迎】C/C++室 Ver.100【環境依存OK】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/11/06(日) 22:58:02.60ID:dU5z27As
556デフォルトの名無しさん
2017/04/02(日) 18:21:59.15ID:XkKG9LQx K&R1 おじさん,と
K&R2 おじさん
は区別したまえ,若造
K&R2 おじさん
は区別したまえ,若造
557デフォルトの名無しさん
2017/04/02(日) 19:26:19.28ID:QFdfGGyb どっちも時代遅れの老人でしょ
K&Rなんて昔存在したという噂でしか知らない
万葉集とか古事記みたいなもの?
K&Rなんて昔存在したという噂でしか知らない
万葉集とか古事記みたいなもの?
558デフォルトの名無しさん
2017/04/02(日) 20:22:15.39ID:II71H9Zi func1(a, b)
int a;
long b;
{
}
int a;
long b;
{
}
559デフォルトの名無しさん
2017/04/02(日) 22:22:37.63ID:JMz4l+Qd > &destSockAddr,
> sizeof(destSockAddr)
由緒正しきBerkeley Socketも昔はこういう書き方したな
コイツは進歩が20年前で止まってるのか
今この書き方する奴は死刑でいい
> sizeof(destSockAddr)
由緒正しきBerkeley Socketも昔はこういう書き方したな
コイツは進歩が20年前で止まってるのか
今この書き方する奴は死刑でいい
560デフォルトの名無しさん
2017/04/02(日) 23:11:21.74ID:zmcqSa2a 便乗で申し訳ないが、値渡し、参照渡し、ポインタ渡し、の話で
ポインタ渡しといっても、C++の場合はナマポは嫌われて、スマポを使いましょう
ってことになっていると思うんだけど、これはどう渡すのが普通?
スマポを値渡しするのか、参照渡しするのか
はたまたスマポを剥いで、ナマポで渡すのか
個人的に統一しきれないっつーか
所有権やら生存期間やらリソース管理やらが関係してくるなら
スマポで渡すI/Fじゃないとまずいだろうし
逆にそういうのが関係ないなら、スタック上の自動変数を渡したいとかも考えると
ナマポで渡すI/Fのほうが都合が良かったり、どーなんだろ
一度ナマポに戻すと二度とshared_ptrに変換できないって制限がね
言語側でなんとかせずに、ライブラリで解決しようとした弊害かな
ちょうどよいバカよけなんかも知らんが
ポインタ渡しといっても、C++の場合はナマポは嫌われて、スマポを使いましょう
ってことになっていると思うんだけど、これはどう渡すのが普通?
スマポを値渡しするのか、参照渡しするのか
はたまたスマポを剥いで、ナマポで渡すのか
個人的に統一しきれないっつーか
所有権やら生存期間やらリソース管理やらが関係してくるなら
スマポで渡すI/Fじゃないとまずいだろうし
逆にそういうのが関係ないなら、スタック上の自動変数を渡したいとかも考えると
ナマポで渡すI/Fのほうが都合が良かったり、どーなんだろ
一度ナマポに戻すと二度とshared_ptrに変換できないって制限がね
言語側でなんとかせずに、ライブラリで解決しようとした弊害かな
ちょうどよいバカよけなんかも知らんが
561デフォルトの名無しさん
2017/04/02(日) 23:13:25.39ID:6tq4Ne3Z 参照一択
562デフォルトの名無しさん
2017/04/02(日) 23:24:57.32ID:xNqaI0VS >スマポを値渡しするのか、参照渡しするのか
>はたまたスマポを剥いで、ナマポで渡すのか
スマポの値渡しと生保は使い分けが必要だが、スマポの参照渡しだけはアホの所業。
とスコットメイヤーが言っていたような
>はたまたスマポを剥いで、ナマポで渡すのか
スマポの値渡しと生保は使い分けが必要だが、スマポの参照渡しだけはアホの所業。
とスコットメイヤーが言っていたような
563デフォルトの名無しさん
2017/04/02(日) 23:43:46.05ID:yhAnz0vw >>560
shared_ptrはその名の通り所有権を共有する場合のみ使うもの
で、そういう場合は値渡しでもいいよ。中でmoveすれば
所有権を共有しないなら、nullptrを許容するならナマポそうじゃないなら参照
あんまり無いけど所有権を渡した先に移動させるならunique_ptr
shared_ptrはその名の通り所有権を共有する場合のみ使うもの
で、そういう場合は値渡しでもいいよ。中でmoveすれば
所有権を共有しないなら、nullptrを許容するならナマポそうじゃないなら参照
あんまり無いけど所有権を渡した先に移動させるならunique_ptr
564デフォルトの名無しさん
2017/04/02(日) 23:58:32.77ID:TsXu0WT4 所有権渡したくないならunique_ptrで持っている呼び出し元がgetでナマポを渡すかdereferenceして参照渡すかだな
565デフォルトの名無しさん
2017/04/03(月) 00:00:55.90ID:Jbp2gIKE ナマポで渡してもshared_ptrを再取得する方法はあるだろ
まあ前提がいるが
まあ前提がいるが
566デフォルトの名無しさん
2017/04/03(月) 00:34:15.74ID:qQvnlfYK うむむ、なるほど
ポインタらしき物にこれだけ多くの種類があってI/Fで縛ってしまうのは
一見面倒そうで、最近の流行というか静的型言語的には
型安全と見るべきなんだろうかしら
安易なGC言語より良いかもしれん、単純に情報量は多い
また一つC++が好きになった
うっかり循環参照したら怖いとか
コンパイラのバージョン違いでSTLやmallocの実装に
差異が有ることを前提に組まなきゃならないとか、玉にキズもあるけれど
ポインタらしき物にこれだけ多くの種類があってI/Fで縛ってしまうのは
一見面倒そうで、最近の流行というか静的型言語的には
型安全と見るべきなんだろうかしら
安易なGC言語より良いかもしれん、単純に情報量は多い
また一つC++が好きになった
うっかり循環参照したら怖いとか
コンパイラのバージョン違いでSTLやmallocの実装に
差異が有ることを前提に組まなきゃならないとか、玉にキズもあるけれど
>>559
C/C++ で生書きするなら今もおなじだよ
C/C++ で生書きするなら今もおなじだよ
568デフォルトの名無しさん
2017/04/03(月) 07:40:50.83ID:dyU+EMvQ 型に対してじゃないのに括弧つけるの?
569デフォルトの名無しさん
2017/04/03(月) 08:48:24.23ID:WaUkCV9r そこはインデントや{}の位置が人によって違ったりするアレだろ
>>557
K&R2 は C89 準拠だよ‥C89 が時代遅れだというけれども,いろんなことは C89 のときからやってきていて,C99 で追認された,というだけだよ
K&R2 は C89 準拠だよ‥C89 が時代遅れだというけれども,いろんなことは C89 のときからやってきていて,C99 で追認された,というだけだよ
571デフォルトの名無しさん
2017/04/03(月) 20:29:22.04ID:5hra1L5C573571
2017/04/03(月) 22:02:42.26ID:ldINtwle >>572
つまりお主(K&R1おじさん)は
K&R2おじさんが自分と一緒くたにされることを
申し訳ないと感じてるのだな!?
(>543)
> それ,K&R1 から堕落したよね
(>550)
> サイズが無限にのびるかもしれないものをコピーするなんてだめだよ
(>552)
> K&R1 は教育的な配慮に優れた実装だと思うんだ‥
つまりお主(K&R1おじさん)は
K&R2おじさんが自分と一緒くたにされることを
申し訳ないと感じてるのだな!?
(>543)
> それ,K&R1 から堕落したよね
(>550)
> サイズが無限にのびるかもしれないものをコピーするなんてだめだよ
(>552)
> K&R1 は教育的な配慮に優れた実装だと思うんだ‥
574デフォルトの名無しさん
2017/04/03(月) 22:14:40.64ID:Vb9tETQW voidを返す関数には感心したな
生成されるコードは大して変わらないかも知れんけど
生成されるコードは大して変わらないかも知れんけど
575デフォルトの名無しさん
2017/04/04(火) 01:00:11.73ID:jC2xfRDP 関数プロトタイプを除けば、K&R1で十分かもしれないな
voidを返す関数? int でいいんだよ
voidを返す関数? int でいいんだよ
576デフォルトの名無しさん
2017/04/04(火) 15:11:19.04ID:AeH3x9f/ 戻り値をどうするかはcallerの勝手だからな
578デフォルトの名無しさん
2017/04/04(火) 20:27:50.00ID:/PIYb7TP int funca01(...);
int funca02(...);
int funca03(...);
int funca02(...);
int funca03(...);
579デフォルトの名無しさん
2017/04/04(火) 23:08:17.42ID:YUY8Mb54 老人は意味とか概念を理解しようとしないから嫌
「bool? intでいいだろ」
「forループ?本質はgotoと同じ」
「enumなんてintでいいだろ」
ホントもう存在が害悪
「bool? intでいいだろ」
「forループ?本質はgotoと同じ」
「enumなんてintでいいだろ」
ホントもう存在が害悪
580デフォルトの名無しさん
2017/04/05(水) 00:33:27.19ID:DVg/5L4N581デフォルトの名無しさん
2017/04/05(水) 02:38:54.31ID:ZJf7oEgw582デフォルトの名無しさん
2017/04/05(水) 04:30:52.52ID:ni2ET+sb 奴らは#defineだ
583デフォルトの名無しさん
2017/04/05(水) 08:14:48.69ID:Bh5NPBNH マジックナンバー直書きでしょ
584デフォルトの名無しさん
2017/04/05(水) 08:19:06.54ID:qVk1sCwA K&Rだと〜
c89だと〜
過去の異物がまだ現役だと信じて話してけるのがうざい
c89だと〜
過去の異物がまだ現役だと信じて話してけるのがうざい
585デフォルトの名無しさん
2017/04/05(水) 09:06:55.68ID:ncDYJBnp それ言うならC自体が。
いまさらC++と互換性のないCを選ぶ理由がない。
いまさらC++と互換性のないCを選ぶ理由がない。
586デフォルトの名無しさん
2017/04/05(水) 10:35:04.67ID:k0RY104y >>585
C++と互換性のないCってどんなの?
C++と互換性のないCってどんなの?
587デフォルトの名無しさん
2017/04/05(水) 19:40:11.14ID:IM5122PI ベターC的な所全般だな
範囲forとか2進リテラルとかスレッドライブラリとか参照とか
Cにはnullptrすら無いし細かいところでは条件演算子が右辺値とか
ようするに別言語
オーバーロードに対するtgmathとかもう糞の臭いしかしない
範囲forとか2進リテラルとかスレッドライブラリとか参照とか
Cにはnullptrすら無いし細かいところでは条件演算子が右辺値とか
ようするに別言語
オーバーロードに対するtgmathとかもう糞の臭いしかしない
>>580
「K&R1 は構造体は基本的にポインタでしか扱えない」制限なんて,使ってもいなかったらわからないだろう?
「K&R1 は構造体は基本的にポインタでしか扱えない」制限なんて,使ってもいなかったらわからないだろう?
590580
2017/04/05(水) 20:02:06.85ID:DVg/5L4N え?Qちゃんてサンデープログラマじゃないの?
職業プログラマでもないし
プログラミング暦せいぜい10年未満だと思ってた
職業プログラマでもないし
プログラミング暦せいぜい10年未満だと思ってた
>>579
>「forループ?本質はgotoと同じ」
そんなことはいわないとおもうよ,K&R1 の時代から for はあるしね
きがつくと for(;;) { } と break だけで書いてたりするのはあるかもね,while 使いにくいとか,do while なんかマクロの中でしかつかわない,とかさ
enum?
#define でいいとおもうよ‥
>「forループ?本質はgotoと同じ」
そんなことはいわないとおもうよ,K&R1 の時代から for はあるしね
きがつくと for(;;) { } と break だけで書いてたりするのはあるかもね,while 使いにくいとか,do while なんかマクロの中でしかつかわない,とかさ
enum?
#define でいいとおもうよ‥
593デフォルトの名無しさん
2017/04/05(水) 21:26:45.75ID:Kw8eDt7v ニートじゃ分からんことも多いのでは
595デフォルトの名無しさん
2017/04/05(水) 22:10:26.67ID:mGFW5fgT そういうこと言ってるとそのうち技術についていけなくなるよ
596デフォルトの名無しさん
2017/04/05(水) 22:22:23.34ID:ncDYJBnp C99やC11って、新しい技術とかそういうんじゃないじゃん。
597デフォルトの名無しさん
2017/04/05(水) 22:40:44.77ID:mGFW5fgT 規格
598デフォルトの名無しさん
2017/04/06(木) 10:47:58.81ID:jz0x7tjm 企画ものは好きじゃないからな
599デフォルトの名無しさん
2017/04/06(木) 16:35:26.64ID:w+UX2Wix ころころ変わるんだから最新もクソも無いわけだが
pakomamaはガチらしいな
pakomamaはガチらしいな
601デフォルトの名無しさん
2017/04/06(木) 20:16:13.94ID:kFToYptL まず、C#のasyncだのawaitだのはC++にも欲しいところ
というか、取り入れる方向で議論していたような
どのみちQZには使いこなせない機能だから知らなくてもよいけど
知れば発狂することだろう
というか、取り入れる方向で議論していたような
どのみちQZには使いこなせない機能だから知らなくてもよいけど
知れば発狂することだろう
603デフォルトの名無しさん
2017/04/06(木) 22:33:11.66ID:Ao1zg6OQ >>601
coroutineの事なら根本的な所が違うから勘違いしないようにな
coroutineの事なら根本的な所が違うから勘違いしないようにな
604デフォルトの名無しさん
2017/04/07(金) 20:08:34.35ID:cdWiLUH2 馬鹿の特長:目的/機能の違いと実現するための実装の違いの区別がつかない
605デフォルトの名無しさん
2017/04/08(土) 12:56:12.29ID:TFmwEDa6 C#のawaitはGUIのスレッドを意識出来るので有用だが
C++のawaitはただ裏で走らせるだけの機能的には劣化版な気がしてならない
C++のawaitはただ裏で走らせるだけの機能的には劣化版な気がしてならない
606デフォルトの名無しさん
2017/04/08(土) 13:14:20.88ID:bfo0YVHI >>605
c++で標準的なgui使うとすると何になるの?
c++で標準的なgui使うとすると何になるの?
607デフォルトの名無しさん
2017/04/08(土) 13:49:52.49ID:xnWSKOe7 >>605
そりゃ C++ と C# のポリシーの違いだろ
そりゃ C++ と C# のポリシーの違いだろ
608デフォルトの名無しさん
2017/04/09(日) 22:32:13.26ID:nTEmq1X3 C使ってる人で変数宣言を途中に書く人いる?
やめた方がいい?
やめた方がいい?
609デフォルトの名無しさん
2017/04/09(日) 23:00:21.55ID:gthRNL4S むしろそうして欲しいかな
勿論ブロックスコープは意識してる前提で
勿論ブロックスコープは意識してる前提で
610デフォルトの名無しさん
2017/04/14(金) 09:11:56.63ID:ezi5K97R 初期のCはブロック先頭しかコンパイルが通らない
コンストラクタも型推論もないのに途中に置くメリットが少ない
初期化漏れというモンスターの隠れ家になりやすい
コンストラクタも型推論もないのに途中に置くメリットが少ない
初期化漏れというモンスターの隠れ家になりやすい
611デフォルトの名無しさん
2017/04/14(金) 10:33:55.73ID:L6e5ZQwW 一応Cで書くときは関数ブロック直後に書いてるけど、それはそれでforで使うiとかを使い回す事になるから、C++みたくプログラマの良識を信じて(ブロックを意識して変数宣言すると信じて)、好きな場所で宣言出来た方が正解なんだろうな。
612デフォルトの名無しさん
2017/04/14(金) 10:35:17.63ID:L6e5ZQwW 出来た方がと言うか、今は出来るんだから、した方が正解に訂正。
613デフォルトの名無しさん
2017/04/14(金) 12:59:25.70ID:Hdztr2ik 出来ることと乱用していいことはイコールでない
一瞬だけの一時変数を直前で宣言するのならありだけど
関数全体で使うなら頭で宣言すべきだし、そもそも中間で宣言するような長い関数は
短くなるよう見直すべき
一瞬だけの一時変数を直前で宣言するのならありだけど
関数全体で使うなら頭で宣言すべきだし、そもそも中間で宣言するような長い関数は
短くなるよう見直すべき
614デフォルトの名無しさん
2017/04/14(金) 13:04:43.28ID:xSRtCFhF 魔法の言葉
ケースバイケース
ケースバイケース
615デフォルトの名無しさん
2017/04/14(金) 19:32:18.15ID:UiWlchtO スコープは可能な限り狭く
おじいちゃんの遺言
おじいちゃんの遺言
616デフォルトの名無しさん
2017/04/14(金) 19:38:55.23ID:PNQsiXg9 初期化漏れはブロック先頭でしかかけない方が起こしやすいだろう
長い範囲で使う変数でも、変数ははじめて使うところで宣言した方が分かりやすいしバグも減る。
長い範囲で使う変数でも、変数ははじめて使うところで宣言した方が分かりやすいしバグも減る。
617デフォルトの名無しさん
2017/04/14(金) 20:04:35.98ID:Z/bjVn5R 初期化忘れ防止はどこで宣言したってあんま関係ないというか
大差ないだろうな実際
必要になった時点で宣言するってことでよいと思う
さもないと上手くいかない場合もあるし
いちいち使いもしない「ダミーの値」で初期化するのは馬鹿らしいし
余計にバグりそう
大差ないだろうな実際
必要になった時点で宣言するってことでよいと思う
さもないと上手くいかない場合もあるし
いちいち使いもしない「ダミーの値」で初期化するのは馬鹿らしいし
余計にバグりそう
618デフォルトの名無しさん
2017/04/14(金) 20:13:31.25ID:Z/bjVn5R auto result = func();
まぁこういう風にしたいわな
int result = 0;
・・・
result = func();
↑その「0」って初期化値は何なんですか、何を意味した「0」なんですか
では0の代わりに1で初期化したらどうなるんですか
この初期化値の意味は一体何なんですか
ってことになるしな
結局「0」とか「1」とかの初期化値はダミーでありプログラム上なんの意味もなかったりするし
逆に初期化値に意味がある場合もあるから余計にややこしくなる
bool flag = false;
if( func() )
{
flag = true;
}
これらを区別したいから必要になった個所で宣言に一票
まぁこういう風にしたいわな
int result = 0;
・・・
result = func();
↑その「0」って初期化値は何なんですか、何を意味した「0」なんですか
では0の代わりに1で初期化したらどうなるんですか
この初期化値の意味は一体何なんですか
ってことになるしな
結局「0」とか「1」とかの初期化値はダミーでありプログラム上なんの意味もなかったりするし
逆に初期化値に意味がある場合もあるから余計にややこしくなる
bool flag = false;
if( func() )
{
flag = true;
}
これらを区別したいから必要になった個所で宣言に一票
619デフォルトの名無しさん
2017/04/14(金) 21:45:43.28ID:spQE74XB 老人の「昔は良かった」を見て顔真っ赤にして論破しようとマジレス
みっともない
みっともない
620デフォルトの名無しさん
2017/04/14(金) 23:47:26.34ID:9eRQSDOY 必要なものを必要なときに宣言する
それだけの話
それだけの話
621デフォルトの名無しさん
2017/04/15(土) 09:16:54.52ID:RtikNDCG622デフォルトの名無しさん
2017/04/15(土) 09:26:22.77ID:Af1/s0zG もともとが
初期化忘れを防ぐためには関数の先頭で宣言〜
への反論だったからだぜ
初期化忘れを防ぐためには関数の先頭で宣言〜
への反論だったからだぜ
623デフォルトの名無しさん
2017/04/15(土) 09:41:32.48ID:RtikNDCG >622
日本語もわからないチンパンは無理して
コンピュータ使わなくても
祖国でオナニーしてればいいんだぜ
日本語もわからないチンパンは無理して
コンピュータ使わなくても
祖国でオナニーしてればいいんだぜ
624デフォルトの名無しさん
2017/04/15(土) 09:50:31.14ID:Af1/s0zG 君の疑問がどこにあるのか本当にわからないからどうでもよい
625デフォルトの名無しさん
2017/04/15(土) 10:02:51.76ID:Af1/s0zG for(int i = ...; ; ) が書けるようになったのは素直にありがたいな,と感じている
627デフォルトの名無しさん
2017/04/23(日) 23:52:45.18ID:IUq/7GPJ >>626
脳の進化が20年前で止まったチンパンはc89でも使ってろ
脳の進化が20年前で止まったチンパンはc89でも使ってろ
628デフォルトの名無しさん
2017/04/24(月) 20:45:20.10ID:et30sNFg うきー
>>627
C99 or later で便利になったことなんて,そんなにないんだよね‥
C99 or later で便利になったことなんて,そんなにないんだよね‥
630デフォルトの名無しさん
2017/04/25(火) 06:08:12.88ID:X14wy5zc 数値計算とか特殊用途なライブラリ追加ってイメージ。
そりゃ、手間の割に汎用性がなかったら対応コンパイラも出てこないわ。
そりゃ、手間の割に汎用性がなかったら対応コンパイラも出てこないわ。
631デフォルトの名無しさん
2017/04/25(火) 22:55:58.60ID:EbISA0IE インライン関数も行コメントもboolもrestrict も無しで
どうやってプログラム書いてんのか想像もつかない
snprintf無しとか無理ゲーだろ
どうやってプログラム書いてんのか想像もつかない
snprintf無しとか無理ゲーだろ
632デフォルトの名無しさん
2017/04/26(水) 02:18:40.34ID:Kw1ZNGm3 restrict無しが想像つかないってどういうことだろ
633デフォルトの名無しさん
2017/04/26(水) 09:07:13.88ID:bRGeq+mw restrict使ったことないなあ
大きく最適化されるの?
大きく最適化されるの?
634デフォルトの名無しさん
2017/04/26(水) 09:13:52.17ID:rDz6/6sg 最適化はあんま気にしてなくて意味的なものかな
memcpyとmemmoveみたいな
memcpyとmemmoveみたいな
635デフォルトの名無しさん
2017/04/26(水) 09:20:57.15ID:A4NmaPdj そう言う機能はメーカー独自実装でC99決まるずっと前からスタンダードだったから、C99って実感が無い。。。
636デフォルトの名無しさん
2017/04/26(水) 11:36:23.97ID:O9yeoh6Z637デフォルトの名無しさん
2017/05/05(金) 00:51:04.53ID:evlI6rq7 void func(hoge)
int hoge;
{}
こんな書き方があったん?
int hoge;
{}
こんな書き方があったん?
638デフォルトの名無しさん
2017/05/05(金) 01:30:10.63ID:PzvORh1V >>637
詳しくは k&r style とかでググればいいけど今時知る必要はほぼないと思う
詳しくは k&r style とかでググればいいけど今時知る必要はほぼないと思う
639デフォルトの名無しさん
2017/05/05(金) 15:05:47.25ID:9iyukdGg K&R1 だね、引数の型チェックができないから不便かつミスを誘発しやすい
640デフォルトの名無しさん
2017/05/07(日) 00:55:58.17ID:uDdo3knt 使われなくなった過去の異物に優劣語り出すとか
老人やべーな
老人やべーな
641片山博文MZ ◆T6xkBnTXz7B0
2017/05/07(日) 00:58:01.39ID:gTai4K61 ×異物
○遺物
○遺物
642デフォルトの名無しさん
2017/05/07(日) 01:41:21.28ID:zkvqzaCu 誰も優を語ってない訳だが
643デフォルトの名無しさん
2017/05/07(日) 15:54:40.58ID:s2OM55fz ストラウストラップの本って読む価値ありますか?
644デフォルトの名無しさん
2017/05/07(日) 22:28:38.36ID:fUCVOwEA 著書全般の基本的な傾向としては万人向けの価値はない
物事の意味や本質を学び考え悩み理解しようとする人向けの本であって
うわべだけの丸暗記やコピペで即結論や結果を求める人向けの本ではないから
物事の意味や本質を学び考え悩み理解しようとする人向けの本であって
うわべだけの丸暗記やコピペで即結論や結果を求める人向けの本ではないから
645デフォルトの名無しさん
2017/05/07(日) 22:36:06.44ID:f9jMnLHr 読む価値はあるが嘘が多いので騙されない注意が必要
646デフォルトの名無しさん
2017/05/07(日) 23:30:36.93ID:s2OM55fz647デフォルトの名無しさん
2017/05/19(金) 15:26:03.09ID:49hF9eg/ はぁ〜〜〜〜
安易にC++に手を出すんじゃなかった
安易にC++に手を出すんじゃなかった
648デフォルトの名無しさん
2017/05/20(土) 12:15:32.26ID:Niypv3FQ 変人や御用達の言語だからな
馬鹿のくせにプライド高い老害しか使ってないイメージ
馬鹿のくせにプライド高い老害しか使ってないイメージ
649デフォルトの名無しさん
2017/05/20(土) 12:51:51.67ID:Nls5mnQ9 >>648
その手の人らの声が大きいだけだよ。特にこんなところでは。
その手の人らの声が大きいだけだよ。特にこんなところでは。
650デフォルトの名無しさん
2017/05/20(土) 18:23:23.08ID:PYbACk+S みんな黙ってC++だよ
651デフォルトの名無しさん
2017/05/23(火) 00:42:13.85ID:9/IkIyOw ちょっとした確認なんだけどさ、
デストラクタが空っぽ (デフォルトデストラクタ) でもオブジェクトを後始末するための何らかの処理はするよね?
よくあるスライシングの問題で、
・クラス A をクラス B が継承している
・クラス A のデストラクタは virtual が付いていない
・クラス B のデストラクタはデフォルトデストラクタ
・クラス B はメンバ変数を持っていない
・B* を A* にキャストしたものを delete
という状況だと見かけ上はクラス B のオブジェクトには後始末すべきものは何もないように見えるけど、
デストラクタが呼ばれないのはやっぱあかんよな?
デストラクタが空っぽ (デフォルトデストラクタ) でもオブジェクトを後始末するための何らかの処理はするよね?
よくあるスライシングの問題で、
・クラス A をクラス B が継承している
・クラス A のデストラクタは virtual が付いていない
・クラス B のデストラクタはデフォルトデストラクタ
・クラス B はメンバ変数を持っていない
・B* を A* にキャストしたものを delete
という状況だと見かけ上はクラス B のオブジェクトには後始末すべきものは何もないように見えるけど、
デストラクタが呼ばれないのはやっぱあかんよな?
652デフォルトの名無しさん
2017/05/23(火) 04:48:39.03ID:pt6Ia/HA うん
653デフォルトの名無しさん
2017/05/23(火) 09:20:18.86ID:J4YcG+3k654デフォルトの名無しさん
2017/05/23(火) 10:48:08.30ID:Ip/q9ayQ 未定義動作多すぎだなこの言語。
よくここまで生き残れたな。
よくここまで生き残れたな。
655デフォルトの名無しさん
2017/05/23(火) 11:01:35.25ID:3W0XlzKr 未定義部分を各社が好きに定義してたからね。
VC++だとこう動くけど、g++だとこう動く、みたいな。
VC++だとこう動くけど、g++だとこう動く、みたいな。
656デフォルトの名無しさん
2017/05/23(火) 12:45:18.14ID:hcbwXZ+h >>653
横からだけど、それまじ?
出来れば、規格で書かれてる場所教えて欲しい。
不安に思いながらも、一個作っちゃったんだよな…
動作確認済みだから、直ちに問題があるわけではないんだけど、未定義と聞くと将来的には修正しておきたい…
横からだけど、それまじ?
出来れば、規格で書かれてる場所教えて欲しい。
不安に思いながらも、一個作っちゃったんだよな…
動作確認済みだから、直ちに問題があるわけではないんだけど、未定義と聞くと将来的には修正しておきたい…
■ このスレッドは過去ログ倉庫に格納されています
