次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part137 (正しくはpart138)
http://mevius.5ch.net/test/read.cgi/tech/1535353320/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1530384293/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
----- テンプレ ここまで -----
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
C++相談室 part139
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ f65b-zn+7)
2018/10/06(土) 00:59:48.54ID:CdYUXXMG0409デフォルトの名無しさん (ワッチョイ cb1b-ALmr)
2018/10/31(水) 17:53:54.59ID:HGEk6qvJ0 >>408
テキストファイルに表示するです
テキストファイルに表示するです
410デフォルトの名無しさん (ワッチョイ 1f8a-3mJb)
2018/10/31(水) 18:14:35.77ID:N9TdgOC+0 日本語でOK
411デフォルトの名無しさん (アウウィフ FFb3-gZJR)
2018/10/31(水) 18:23:30.41ID:XAA9QXm2F >適当な画像をDCTしてDCT係数をテキストファイルにプログラム
日本語で
日本語で
412デフォルトの名無しさん (ワッチョイ cb1b-ALmr)
2018/10/31(水) 18:28:26.25ID:HGEk6qvJ0 >>408
もう1回書きますがテキストファイルに書き出すです
もう1回書きますがテキストファイルに書き出すです
413デフォルトの名無しさん (アウウィフ FFb3-gZJR)
2018/10/31(水) 18:30:01.31ID:XAA9QXm2F ファイルに表示
414デフォルトの名無しさん (バッミングク MM1f-DBFP)
2018/10/31(水) 18:44:17.50ID:YG0rnI8eM OSが分からんが、一番楽チンであれこれ考えなくて良いのは普通にprintfしてファイルにリダイレクト。
415デフォルトの名無しさん (ワッチョイ cb1b-ALmr)
2018/10/31(水) 21:27:56.35ID:HGEk6qvJ0 windowsです
416デフォルトの名無しさん (ワンミングク MM1b-uH1J)
2018/10/31(水) 22:31:25.44ID:wG8+54SGM dctは出来るのにストリームへの出力は出来ないのか
417デフォルトの名無しさん (ワッチョイ 0beb-JHIh)
2018/10/31(水) 22:34:24.39ID:Cti468/q0 ofstreamでファイル開いて<<で出力
ascii文字だけなら文字コード気にしなくてもいい
ascii文字だけなら文字コード気にしなくてもいい
418デフォルトの名無しさん (ワッチョイ 971b-cEKd)
2018/11/01(木) 01:13:06.51ID:PigZrB5P0 DCT係数が配列に格納されているんですがそのすべてを書き出すのができないです
419デフォルトの名無しさん (ワッチョイ a323-WkUi)
2018/11/01(木) 10:51:44.25ID:z733lC2q0 >>416
https://twitter.com/Campaign_Otaku/status/1057156200981135361/photo/1
空で字描ける人が着陸の仕方を「どうやるの」なんて疑問は出てくるはずがない。
「どういう風に降りようかな」って意味なら判る。
完全に誤訳
https://twitter.com/5chan_nel (5ch newer account)
https://twitter.com/Campaign_Otaku/status/1057156200981135361/photo/1
空で字描ける人が着陸の仕方を「どうやるの」なんて疑問は出てくるはずがない。
「どういう風に降りようかな」って意味なら判る。
完全に誤訳
https://twitter.com/5chan_nel (5ch newer account)
420デフォルトの名無しさん (スッップ Sdba-7j1p)
2018/11/01(木) 20:17:49.41ID:Pz4tYpgEd421デフォルトの名無しさん (ワッチョイ 63b3-MyS3)
2018/11/01(木) 20:42:34.69ID:yQbjy7jF0 C言語は高校・大学の頃やったので大体わかります
今更ですがC++勉強するのに良い教材は何でしょうか?
本が良いですがもっと良い方法がありましたらそれでも良いです
今更ですがC++勉強するのに良い教材は何でしょうか?
本が良いですがもっと良い方法がありましたらそれでも良いです
422デフォルトの名無しさん (スッップ Sdba-7j1p)
2018/11/01(木) 20:56:14.21ID:Pz4tYpgEd423デフォルトの名無しさん (ワッチョイ 769f-zz8P)
2018/11/02(金) 00:38:53.71ID:YtkatxxE0 effective c++とか
424デフォルトの名無しさん (ワッチョイ 3685-DqXg)
2018/11/02(金) 00:55:59.17ID:bpaiY9An0 C++ってnumpyみたいに2次元配列から範囲を指定して抜き出しとか出来ないですかね?
10, 20, 30, 40, 50
60, 70, 80, 90, 100
110, 120, 130, 140, 150
160, 170, 180, 190, 200
このようなvectorがあった際に
70, 80, 90
120, 130, 140
170, 180, 190
を抜き出したいです
10, 20, 30, 40, 50
60, 70, 80, 90, 100
110, 120, 130, 140, 150
160, 170, 180, 190, 200
このようなvectorがあった際に
70, 80, 90
120, 130, 140
170, 180, 190
を抜き出したいです
425デフォルトの名無しさん (ワッチョイ 5b80-Q1ft)
2018/11/02(金) 01:08:54.86ID:KoqyjIsr0 equal_rangeを使う
426デフォルトの名無しさん (ワッチョイ 0723-7j1p)
2018/11/02(金) 01:34:41.33ID:T61e9sN/0 >>424
自分で書きたくないならあり物のライブラリ使えばいいのでは
よく知らんけど opencv の Mat とか BLAS とか
https://minus9d.hatenablog.com/entry/2014/03/21/114514
自分で書きたくないならあり物のライブラリ使えばいいのでは
よく知らんけど opencv の Mat とか BLAS とか
https://minus9d.hatenablog.com/entry/2014/03/21/114514
427デフォルトの名無しさん (オッペケ Srbb-V8Cv)
2018/11/02(金) 01:58:52.59ID:CMIkY+8nr boost の multi_array でできる
かなり調べた結果これに行き着いたから、他のを見つけるのは至難の業だと思う
かなり調べた結果これに行き着いたから、他のを見つけるのは至難の業だと思う
428デフォルトの名無しさん (オッペケ Srbb-V8Cv)
2018/11/02(金) 02:00:44.27ID:CMIkY+8nr まぁ2次元配列に限るなら正直 vectorのvector でそういう動作するもの簡単に作れるよね
429デフォルトの名無しさん (ワッチョイ 0723-7j1p)
2018/11/02(金) 04:22:50.02ID:T61e9sN/0 普通こういうものの部分行列はデータをコピーしないで動作するんだよ。用途によるけどだいたいは。
430デフォルトの名無しさん (ワッチョイ 63b3-URqd)
2018/11/02(金) 09:58:57.11ID:UBXHQBH/0 >>423
質問者に合ってると思うか?
質問者に合ってると思うか?
431デフォルトの名無しさん (ワッチョイ 9723-VEUj)
2018/11/02(金) 16:44:40.29ID:ggr9EF3w0 >>424
C++ から python も numpy も使える
C++ から python も numpy も使える
432デフォルトの名無しさん (ワッチョイ 9a76-MyS3)
2018/11/02(金) 21:55:06.47ID:yMnDBJfs0 >>424
vectorではなくvalarrayの使いどころだ
vectorではなくvalarrayの使いどころだ
433デフォルトの名無しさん (オッペケ Srbb-V8Cv)
2018/11/02(金) 22:55:21.07ID:lVpg8bJur valarrayじゃなきゃ駄目な場面なんて知らんがな
434デフォルトの名無しさん (ワッチョイ 9a34-avGO)
2018/11/03(土) 00:31:38.77ID:ogvvzewS0 slice使える
435デフォルトの名無しさん (ワッチョイ 5b80-Q1ft)
2018/11/04(日) 13:10:56.85ID:MKH8Qowh0 そもそも2次元の配列使う必要がない
1次元で十分
池沼はいちいちみため2次元にしたがる
1次元で十分
池沼はいちいちみため2次元にしたがる
436デフォルトの名無しさん (アウアウカー Sac3-XPOZ)
2018/11/04(日) 15:35:15.29ID:NU/4ChKLa 20年前の本読んでも問題ないか?
437デフォルトの名無しさん (ワッチョイ 0ef0-MyS3)
2018/11/04(日) 16:00:02.15ID:T2TFtaIb0 みため二次元ねえ
int vec[][5] { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200 };
これで済むことを、
int& elm(int row, int col)
{
static int vec[] { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200 };
return vec[row * 5][col];
}
いちいちこう書くやつも充分に池沼なんだが
そういうやつをちょっとプロファイリングしてみると
配列へのポインタに腹を立て、ポインタの配列にmallocして
強引に**で二次元を扱えることにするテクニックを某所で自慢したら
タコ殴りにされて、すっかり心を病んでしまい
以後、二次元配列というワードで凶暴化するようになった、とかね
int vec[][5] { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200 };
これで済むことを、
int& elm(int row, int col)
{
static int vec[] { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200 };
return vec[row * 5][col];
}
いちいちこう書くやつも充分に池沼なんだが
そういうやつをちょっとプロファイリングしてみると
配列へのポインタに腹を立て、ポインタの配列にmallocして
強引に**で二次元を扱えることにするテクニックを某所で自慢したら
タコ殴りにされて、すっかり心を病んでしまい
以後、二次元配列というワードで凶暴化するようになった、とかね
438デフォルトの名無しさん (ワイーワ2 FF12-VEUj)
2018/11/04(日) 17:10:10.81ID:dwIn1XjHF >>436
tcl/tk なら枯れてるから大腿同じ
tcl/tk なら枯れてるから大腿同じ
439デフォルトの名無しさん (ワッチョイ 9abd-yxtD)
2018/11/04(日) 17:55:13.85ID:ntvnp4Zh0 ていうか(アドレスp)[x]は*(p+x)の別表記に過ぎないというのは規格上の話にすぎなくて、
実際問題としては一次元配列アクセスと二次元配列アクセスには最適化のかかり方次第でかなり速度差が生じるお
一次元配列にすると、概念上の次の行の要素への移動が加算1発で済むというのが喜ばしい
これとループ最適化が組み合わさると、配列スキャンが主な仕事の処理は爆速になり得る
といいつつ次の例はideoneでこそ一次元配列アクセスの方が遅いが(爆
Visual C++ 2010だと一次元配列は10倍超速いお
https://ideone.com/K7uLo9
(VC++での結果)
******* Array 1D opt:
ntimes=100000^2, sum=2372578304
Consumed time=0 sec
******* Array 2D:
ntimes=100000^2, sum=2372578304
Consumed time=10 sec
実際問題としては一次元配列アクセスと二次元配列アクセスには最適化のかかり方次第でかなり速度差が生じるお
一次元配列にすると、概念上の次の行の要素への移動が加算1発で済むというのが喜ばしい
これとループ最適化が組み合わさると、配列スキャンが主な仕事の処理は爆速になり得る
といいつつ次の例はideoneでこそ一次元配列アクセスの方が遅いが(爆
Visual C++ 2010だと一次元配列は10倍超速いお
https://ideone.com/K7uLo9
(VC++での結果)
******* Array 1D opt:
ntimes=100000^2, sum=2372578304
Consumed time=0 sec
******* Array 2D:
ntimes=100000^2, sum=2372578304
Consumed time=10 sec
440デフォルトの名無しさん (エムゾネ FFba-VEUj)
2018/11/04(日) 18:13:58.07ID:rLQVzKFuF441デフォルトの名無しさん (エムゾネ FFba-VEUj)
2018/11/04(日) 18:16:57.25ID:rLQVzKFuF C/C++で「二次元配列」と言った場合
char *hoge[N]; の方を指すのであって
char **fuga; の方は決して「二次元配列」ではない
Javaなら後者を指してるので
これらが初心者には混乱の元
char *hoge[N]; の方を指すのであって
char **fuga; の方は決して「二次元配列」ではない
Javaなら後者を指してるので
これらが初心者には混乱の元
442デフォルトの名無しさん (エムゾネ FFba-VEUj)
2018/11/04(日) 18:17:36.23ID:rLQVzKFuF ごみん
いきなり間違えた
char *hoge[N]; じゃなくて
char (*hoge)[N]; こうです
いきなり間違えた
char *hoge[N]; じゃなくて
char (*hoge)[N]; こうです
443デフォルトの名無しさん (エムゾネ FFba-VEUj)
2018/11/04(日) 18:19:01.87ID:rLQVzKFuF 439 の言うばふぉーマンスは
char **fuga; だから落ちるのであって
char (*hoge)[N]; では落ちない
char **fuga; だから落ちるのであって
char (*hoge)[N]; では落ちない
444デフォルトの名無しさん (ワッチョイ 9abd-yxtD)
2018/11/04(日) 18:28:12.23ID:ntvnp4Zh0 ていうか>>439のやつもよく調べたら1000倍近い速度差で一次元配列の方が早いお
今日日のCPUアーキテクチャーでよく見られるいつもの光景だお…
(VC++でntimes = 百万の2乗にした結果)
******* Array 1D opt:
ntimes=1000000^2, sum=2273652736
Consumed time=0 sec
******* Array 2D:
ntimes=1000000^2, sum=2273652736
Consumed time=928 sec
今日日のCPUアーキテクチャーでよく見られるいつもの光景だお…
(VC++でntimes = 百万の2乗にした結果)
******* Array 1D opt:
ntimes=1000000^2, sum=2273652736
Consumed time=0 sec
******* Array 2D:
ntimes=1000000^2, sum=2273652736
Consumed time=928 sec
445デフォルトの名無しさん (ワッチョイ 9abd-yxtD)
2018/11/04(日) 18:30:20.30ID:ntvnp4Zh0 >>443はジャグ配列と通常の二次元配列の区別も付いていないおむつも取れていない赤ん坊だお;;
446デフォルトの名無しさん (ワッチョイ a323-cvuZ)
2018/11/04(日) 18:41:14.77ID:egw3UDrd0 >>444
VC++は2次元配列が苦手ってだけじゃない?
手元のgccとclangは最適化なし(-O0)だと1次元の方が少し遅くて最適化あり(-Ofast)だと1次元と2次元で計算部分は全く同じアセンブリになった
VC++は2次元配列が苦手ってだけじゃない?
手元のgccとclangは最適化なし(-O0)だと1次元の方が少し遅くて最適化あり(-Ofast)だと1次元と2次元で計算部分は全く同じアセンブリになった
447デフォルトの名無しさん (アウアウカー Sac3-U2lQ)
2018/11/04(日) 18:58:49.68ID:pidkuN2Fa >>436
文法古くて生産性低いってだけで、コードは動くよ。
文法古くて生産性低いってだけで、コードは動くよ。
448デフォルトの名無しさん (ワッチョイ df8a-6RPj)
2018/11/07(水) 14:24:50.89ID:ldKnJvNa0 黙って行列ライブラリ使えよ
449デフォルトの名無しさん (オッペケ Srbb-V8Cv)
2018/11/07(水) 15:48:05.24ID:fYDz1ZKKr いい質問があったら鬼のように加速するけど、そうじゃないときはかなり穏やかなんだな
450デフォルトの名無しさん (ワッチョイ a323-VEUj)
2018/11/07(水) 15:52:57.02ID:IyZ6SaMg0 話題毎にスレ移動してる遊牧流民族
451デフォルトの名無しさん (ワンミングク MMd3-BVTb)
2018/11/08(木) 19:45:44.59ID:Zz75hCICM おいEffectiveC++がいつの間にかオライリーになって高価くなってるじゃねぇか
誕生日におばあちゃんにもらった図書カードでも買えないぜ
誕生日におばあちゃんにもらった図書カードでも買えないぜ
452デフォルトの名無しさん (ブーイモ MMab-OD9P)
2018/11/08(木) 22:34:24.42ID:6GweSoQWM 毎日少しずつスマホで撮影
453デフォルトの名無しさん (ワッチョイ b3eb-CaRP)
2018/11/09(金) 00:41:56.16ID:mEWiZt760 中古で2版かった
454デフォルトの名無しさん (ワッチョイ 5b6f-ki2E)
2018/11/09(金) 00:45:44.84ID:yH/J6wNO0 オライリーが不要な人
「オラ、要りません」
「オラ、要りません」
455デフォルトの名無しさん (ワッチョイ 9334-z2Fd)
2018/11/09(金) 03:59:09.39ID:NPFxlpZr0 Arduinoの教本は安くなってた気がする
456デフォルトの名無しさん (ブーイモ MMb9-NrKH)
2018/11/15(木) 19:31:27.51ID:u78hdNWAM >>454
おまいはNGな(´・ω・`)
おまいはNGな(´・ω・`)
457デフォルトの名無しさん (ワッチョイ 7ae9-pq0H)
2018/11/21(水) 14:25:07.64ID:2bTou3MI0 Javaが来年頭から死亡展開になるの今日知った
C++はやっぱ平和だな
ところでみんなはC++で何を作ってるの?
C++はやっぱ平和だな
ところでみんなはC++で何を作ってるの?
458デフォルトの名無しさん (ワッチョイ 1aeb-HiLI)
2018/11/21(水) 14:26:25.56ID:eXoP5Hir0 ゲーム
459デフォルトの名無しさん (ワッチョイ 7ae9-pq0H)
2018/11/21(水) 14:38:58.30ID:2bTou3MI0 了解ありがとう
460はちみつ餃子 ◆8X2XSCHEME (ワッチョイ fe6f-maOp)
2018/11/21(水) 15:00:42.00ID:5XDVWHjZ0461デフォルトの名無しさん (ワッチョイ 7ae9-pq0H)
2018/11/21(水) 16:15:38.69ID:2bTou3MI0 使うだけならね
Androidの商業開発は痛いよ
googleがdart言語を着々と開発をしてるのはこれを避ける為だったと
Androidの商業開発は痛いよ
googleがdart言語を着々と開発をしてるのはこれを避ける為だったと
462デフォルトの名無しさん (ワントンキン MM5a-c6U1)
2018/11/21(水) 21:52:05.40ID:hmzhTBXoM 何を自演してるの?
463デフォルトの名無しさん (ワッチョイ ca34-YK5h)
2018/11/21(水) 22:09:59.66ID:0eUwt8A90 C++を長年使ってきた身としてはようやくJAVAとかいうゴミが一掃されてまさしく自らガーベッジコレクト自爆してくれて清々する
464デフォルトの名無しさん (ワッチョイ 86eb-4fLB)
2018/11/21(水) 22:29:03.89ID:rlO03g2l0 聳え立てた糞の山を保守するために生き残り続けるよ・・・
465デフォルトの名無しさん (ワッチョイ f3c3-9Nj+)
2018/11/22(木) 07:07:56.56ID:ykkp0iR40 Javaが出てきた頃はまさかこんなCOBOL並の糞山生産言語に成り果てるとは思わなかったな
悲しいなあ
悲しいなあ
466デフォルトの名無しさん (ワイーワ2 FFdf-OXRW)
2018/11/22(木) 12:42:34.39ID:blyr971hF >>463
ほんそれ
ほんそれ
467デフォルトの名無しさん (ワイーワ2 FFdf-OXRW)
2018/11/22(木) 12:42:56.61ID:blyr971hF >>465
当初から言われてたぞ
当初から言われてたぞ
468デフォルトの名無しさん (ワッチョイ cfa5-L5v9)
2018/11/22(木) 17:56:25.68ID:RROqQEmy0 test
469デフォルトの名無しさん (ワッチョイ cf30-zhOP)
2018/11/22(木) 19:19:12.39ID:FdxQ3S5p0 スマートポインタってガベージコレクションではないの?
470デフォルトの名無しさん (ワンミングク MM9f-Ymbk)
2018/11/22(木) 19:30:02.59ID:3Ij8+ioXM 違います
471デフォルトの名無しさん (ワッチョイ ff23-Th1j)
2018/11/22(木) 19:37:13.80ID:3NeFI3xN0 ガベージが発生しないもんな
472デフォルトの名無しさん (ワッチョイ ff12-1YVs)
2018/11/23(金) 09:57:38.38ID:xUgPEkHQ0 ガベージか非ガベージか、どうやって見分けるの?
見分けられないなら逆説的にガベージはない
全部データと言える
すると言う通りにガベージは発生しない
見分けられないなら逆説的にガベージはない
全部データと言える
すると言う通りにガベージは発生しない
473デフォルトの名無しさん (ワッチョイ 537b-/G1A)
2018/11/23(金) 11:48:27.57ID:nZV4GP9h0 どっちも参照カウンタが0になった瞬間はガベージと言えないこともないが、スマートポインタだとその場で即削除される。
ガベージコレクションは参照カウンタが0になったメモリをメモリアロケータが適当なタイミングで削除する。
ガベージコレクションは参照カウンタが0になったメモリをメモリアロケータが適当なタイミングで削除する。
474デフォルトの名無しさん (スッップ Sd1f-Th1j)
2018/11/23(金) 11:53:50.43ID:/6hb/Gdud 自分の中で結論出してるみたいだから説明したくないなあ
スマートポインタはリファレンス(参照)がなくなったときにメモリやオブジェクトを解放する。
ガベージ(参照不能なオブジェクトやメモリ)がどこかに溜まって、
いつかのタイミングでそれらをコレクトするような動作はしない。
スコープを抜けるときにスタックフレーム上のオブジェクトが破棄されるのと同様。
異論はいくらでもどうぞ
スマートポインタはリファレンス(参照)がなくなったときにメモリやオブジェクトを解放する。
ガベージ(参照不能なオブジェクトやメモリ)がどこかに溜まって、
いつかのタイミングでそれらをコレクトするような動作はしない。
スコープを抜けるときにスタックフレーム上のオブジェクトが破棄されるのと同様。
異論はいくらでもどうぞ
475デフォルトの名無しさん (ワッチョイ 7323-Th1j)
2018/11/23(金) 11:57:18.90ID:D5DlZHs/0 書いてて思ったけどスタックという仕組みは素晴らしいハックだよね
476デフォルトの名無しさん (ワッチョイ f3c3-9Nj+)
2018/11/23(金) 13:11:50.55ID:QYpEy3WT0 「部屋を最後に出る奴は電灯消せよ」がスマポ(std::shared_ptr)
電灯付けっぱで誰もいない部屋を探して消し回るおばちゃんがGC
C++にはそういうおばちゃんはいない
電灯付けっぱで誰もいない部屋を探して消し回るおばちゃんがGC
C++にはそういうおばちゃんはいない
477デフォルトの名無しさん (ワッチョイ 83b3-4vBw)
2018/11/23(金) 13:17:17.72ID:l4mTlUt60478デフォルトの名無しさん (ワッチョイ cf30-zhOP)
2018/11/23(金) 13:21:17.14ID:00BNAcCe0 うむ。わかりやすいw
479デフォルトの名無しさん (オイコラミネオ MM87-orwD)
2018/11/23(金) 13:35:53.07ID:WmoXs2+nM スマポって何に使うん?
趣味グラマーだけど使ったことない
cv::Matとかに使われてるだけで個人では使わないようなものなの?
趣味グラマーだけど使ったことない
cv::Matとかに使われてるだけで個人では使わないようなものなの?
480デフォルトの名無しさん (アウウィフ FF27-OXRW)
2018/11/23(金) 13:44:09.05ID:e4GZHgy/F 生ポを上手に使えない人が使えばいい
自信があれば無くてもOK
自信があれば無くてもOK
481はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6f6f-zhOP)
2018/11/23(金) 13:53:48.42ID:o3+kYr4A0 可能なら生ポインタは避けるのが良い作法。
単純に、 delete を書くのめんどいから勝手にやってくれた方がよくね?
そりゃあ場合によっては生ポインタが必要な箇所もあるだろうけど、
スマートポインタは高度なライブラリ内だけでしか使われないってほど特殊なもんではない。
ポインタ型のデータメンバを持つクラスのコンストラクタで
発生した例外を function try block で捕捉して後始末をするよりは
スマートポインタを使った方が勝手に解放してくれて楽というのもある。
例外が絡むと本当にめんどいし、思考停止したい。
単純に、 delete を書くのめんどいから勝手にやってくれた方がよくね?
そりゃあ場合によっては生ポインタが必要な箇所もあるだろうけど、
スマートポインタは高度なライブラリ内だけでしか使われないってほど特殊なもんではない。
ポインタ型のデータメンバを持つクラスのコンストラクタで
発生した例外を function try block で捕捉して後始末をするよりは
スマートポインタを使った方が勝手に解放してくれて楽というのもある。
例外が絡むと本当にめんどいし、思考停止したい。
482デフォルトの名無しさん (ワッチョイ 7f60-4xdr)
2018/11/23(金) 14:17:24.18ID:e/BZMkzC0 >>476
参照カウントはガページコレクタの一つでは?
https://ja.wikipedia.org/wiki/%E5%8F%82%E7%85%A7%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88
参照カウントはガページコレクタの一つでは?
https://ja.wikipedia.org/wiki/%E5%8F%82%E7%85%A7%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88
483デフォルトの名無しさん (ブーイモ MMe7-XNyg)
2018/11/23(金) 14:36:29.45ID:D8he5SEKM >>482
参照カウントがGCの実装アルゴリズムとして使われることがあるというだけで、スマポがGCと言ってるわけではないよ。
だいたいガイジンにとってガベージコレクションといえば↓コレなんだから、広範に収集しないスマポをGCと呼ぶのはすごい違和感。
https://money.usnews.com/careers/best-jobs/garbage-collector
参照カウントがGCの実装アルゴリズムとして使われることがあるというだけで、スマポがGCと言ってるわけではないよ。
だいたいガイジンにとってガベージコレクションといえば↓コレなんだから、広範に収集しないスマポをGCと呼ぶのはすごい違和感。
https://money.usnews.com/careers/best-jobs/garbage-collector
484はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6f6f-zhOP)
2018/11/23(金) 14:46:07.98ID:o3+kYr4A0 スマポが GC かっていうのはちょくちょく話題になるね。
私自身は std::shared_ptr はガベジコレクタの一種だと考える派って話は前スレにも書いた。
https://mevius.5ch.net/test/read.cgi/tech/1535353320/303
考え方によるので定義を定める必要はないとも思ってるけどね。
>>473-474
C++ でデストラクタで不要なメモリにマークだけしておいて
実際の解放処理は後回し (とか別スレッドでやる) だとかいう手法もあるけれど、
あなたがたの基準ではこれは GC と言える?
私自身は std::shared_ptr はガベジコレクタの一種だと考える派って話は前スレにも書いた。
https://mevius.5ch.net/test/read.cgi/tech/1535353320/303
考え方によるので定義を定める必要はないとも思ってるけどね。
>>473-474
C++ でデストラクタで不要なメモリにマークだけしておいて
実際の解放処理は後回し (とか別スレッドでやる) だとかいう手法もあるけれど、
あなたがたの基準ではこれは GC と言える?
485デフォルトの名無しさん (オッペケ Sr47-4X35)
2018/11/23(金) 14:46:51.54ID:i3QERm52r >>476
すげー分かりやすいw
すげー分かりやすいw
486デフォルトの名無しさん (オッペケ Sr47-4X35)
2018/11/23(金) 14:52:59.28ID:i3QERm52r はちみつさんは女の人だったんだ
487デフォルトの名無しさん (ワッチョイ cf30-zhOP)
2018/11/23(金) 19:35:02.76ID:00BNAcCe0 C++で電気を消して回るおばちゃん作れないの?
488さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 83b3-D/ja)
2018/11/23(金) 19:39:11.60ID:tufcyCUn0 作れるよ。C++でガベージコレクタを実装した言語を。
489デフォルトの名無しさん (ワッチョイ 53ea-zhOP)
2018/11/23(金) 21:53:31.89ID:qlpWVHw40 変な質問ですみません。
C++をBetterCとして使いたいのですが、C言語が分かる前提で、おすすめの書籍などないでしょうか?
コーディング規約ではないですが、その書籍に書いてあることまでは使っていいような形にしたいのですが。
C++をBetterCとして使いたいのですが、C言語が分かる前提で、おすすめの書籍などないでしょうか?
コーディング規約ではないですが、その書籍に書いてあることまでは使っていいような形にしたいのですが。
490デフォルトの名無しさん (オッペケ Sr47-UZ88)
2018/11/23(金) 23:04:28.25ID:LRYgqZxfr vectorなども禁止したいのであれば、ない
491デフォルトの名無しさん (ワッチョイ f3c3-9Nj+)
2018/11/23(金) 23:47:03.05ID:QYpEy3WT0 なんでC++をC++として使わないのか、使いたくないのか、使う度胸もないのか
まずそこをはっきりさせよう
まずそこをはっきりさせよう
492デフォルトの名無しさん (ワッチョイ ff34-MrEw)
2018/11/24(土) 00:07:45.09ID:V6N696Kv0 ベターCなんぞというあまっちょろい考えのヤツはC++道破門だ
そんなあまっちょろい考えだからJAVA上がりのようなデストラクタもろくに使いこなせない小わっぱだらけになるのじゃ
そんなあまっちょろい考えだからJAVA上がりのようなデストラクタもろくに使いこなせない小わっぱだらけになるのじゃ
493はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6f6f-zhOP)
2018/11/24(土) 01:07:38.96ID:yk09TxVj0 C++ を Better C として使ってもよいというのは設計者自身も言ってる。
だけど、あくまでも、 C をわかっている人が完全には C++ を理解できなくとも
わかる範囲で C++ を実務をに使いながら C++ への理解を深めていける (より高度な C++ 使いになることを目指す)
という前提付きだ。
C から C++ への段階的な以降がスムーズに出来るという話であって、
>>489 のように C++ の固定されたサブセットを Better C として使うのはちょっと違う。
強いて言えば Embedded C++ とかいった規格の提案もあったけどさぁ、
https://ja.wikipedia.org/wiki/Embedded_C%2B%2B
企画倒れに終わったので書籍とかはあんまりないと思う。
だけど、あくまでも、 C をわかっている人が完全には C++ を理解できなくとも
わかる範囲で C++ を実務をに使いながら C++ への理解を深めていける (より高度な C++ 使いになることを目指す)
という前提付きだ。
C から C++ への段階的な以降がスムーズに出来るという話であって、
>>489 のように C++ の固定されたサブセットを Better C として使うのはちょっと違う。
強いて言えば Embedded C++ とかいった規格の提案もあったけどさぁ、
https://ja.wikipedia.org/wiki/Embedded_C%2B%2B
企画倒れに終わったので書籍とかはあんまりないと思う。
494デフォルトの名無しさん (ブーイモ MMe7-LZ6j)
2018/11/24(土) 01:16:38.96ID:tc+IepjYM c++をc++として使ってる人っていったい何作ってんの?
ゲーム?
でもゲームってAAAクラスだと未だに例外なしで作ったりしてんでしょ
ゲーム?
でもゲームってAAAクラスだと未だに例外なしで作ったりしてんでしょ
495デフォルトの名無しさん (スップ Sd1f-xGPl)
2018/11/24(土) 08:17:49.70ID:WC34mdadd ゲームは例外ダメだったりC++03だったりしたけど
今はだいぶ現代的なC++になってきてるよ
今はだいぶ現代的なC++になってきてるよ
496デフォルトの名無しさん (ワッチョイ 434e-GbSM)
2018/11/24(土) 08:30:31.18ID:qVCgFVzS0 >>494
ミサイルの射程距離の計算
ミサイルの射程距離の計算
497デフォルトの名無しさん (ワッチョイ 5305-04Xy)
2018/11/24(土) 08:45:19.63ID:sJe2ncgH0498デフォルトの名無しさん (ワッチョイ e3f2-/G1A)
2018/11/24(土) 09:04:42.05ID:3CbvFbkZ0 C89以上C99未満のBetterCという意味ならわからんでもないが、その場合
参考にするのはやっぱりC89の本だろうな。
参考にするのはやっぱりC89の本だろうな。
499はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6f6f-zhOP)
2018/11/24(土) 10:04:19.96ID:yk09TxVj0 >>497
メカニズムは GC だから GC であるという単純な主張だよ。 似ているんじゃなくてそのものだと言ってる。
前スレで QZ 氏が書いている言語との関係性、抽象化の仕方による区別にも説得力を認めてはいるけど、
一般的に GC 付きで実装される言語のほとんどでは意味論としては GC を要求しているわけではなく、
「オブジェクトの寿命を無期限にする」という要求があって、それをある程度実現するために GC が
使われているに過ぎないということを考えれば言語側の意味論とメカニズムは切り離す方が自然で、
メカニズムが GC ならそれは GC だというのが私の考える理屈。
メカニズムは GC だから GC であるという単純な主張だよ。 似ているんじゃなくてそのものだと言ってる。
前スレで QZ 氏が書いている言語との関係性、抽象化の仕方による区別にも説得力を認めてはいるけど、
一般的に GC 付きで実装される言語のほとんどでは意味論としては GC を要求しているわけではなく、
「オブジェクトの寿命を無期限にする」という要求があって、それをある程度実現するために GC が
使われているに過ぎないということを考えれば言語側の意味論とメカニズムは切り離す方が自然で、
メカニズムが GC ならそれは GC だというのが私の考える理屈。
500デフォルトの名無しさん (ワッチョイ e3b3-aItx)
2018/11/24(土) 11:54:49.92ID:FpJ57Whd0 >>493
そういう選民思想的な考え方はいかがなものかと思うけどね
実際C++をCのような低レベル部分も含めてちゃんと理解し
テンプレートを使った総称的プログラミングまで使いこなし、最新のライブラリも使いこなすのに
どれだけの学習コストがかかるか
世の中ははちみつみたいなヒマ人ばっかじゃないんだよ?
俺スゲーと言いたいがためにC++の普及を妨げるな
そういう選民思想的な考え方はいかがなものかと思うけどね
実際C++をCのような低レベル部分も含めてちゃんと理解し
テンプレートを使った総称的プログラミングまで使いこなし、最新のライブラリも使いこなすのに
どれだけの学習コストがかかるか
世の中ははちみつみたいなヒマ人ばっかじゃないんだよ?
俺スゲーと言いたいがためにC++の普及を妨げるな
501デフォルトの名無しさん (アウアウカー Sa87-ZX3B)
2018/11/24(土) 12:10:10.43ID:1C+vWWG1a >>489
案外C++入門書ってCと同じ文字列は文字型の配列とか、そう言うところから入っちゃうから、
文字列はstring型、配列の代わりにvector型とかが入門の時点で説明されてるのって案外少ない。
ストラウストラップのプログラミング入門 とかどうよ?
そうじゃなくて、文字列や配列はCと同じの使いたいなら、適当な入門書から使えそうなの抜き出せば良い。
案外C++入門書ってCと同じ文字列は文字型の配列とか、そう言うところから入っちゃうから、
文字列はstring型、配列の代わりにvector型とかが入門の時点で説明されてるのって案外少ない。
ストラウストラップのプログラミング入門 とかどうよ?
そうじゃなくて、文字列や配列はCと同じの使いたいなら、適当な入門書から使えそうなの抜き出せば良い。
502デフォルトの名無しさん (ワッチョイ e3b3-aItx)
2018/11/24(土) 12:19:21.49ID:FpJ57Whd0 あ、>>500にはオブジェクト指向プログラミングも追加しとく
503はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6f6f-zhOP)
2018/11/24(土) 14:44:00.89ID:yk09TxVj0 >>500
隅々まで使いこなせと言ってるわけじゃない。
フルセットの C++ を自分なりに使えよと言ってるのであって、
その根拠として、一定の形に定まった C++ のサブセットという試みは
ろくでもない結果に終わったという事実を紹介してるだけだ。
隅々まで使いこなせと言ってるわけじゃない。
フルセットの C++ を自分なりに使えよと言ってるのであって、
その根拠として、一定の形に定まった C++ のサブセットという試みは
ろくでもない結果に終わったという事実を紹介してるだけだ。
504デフォルトの名無しさん (ワイーワ2 FFdf-OXRW)
2018/11/24(土) 14:45:16.71ID:4kdGLnPdF 初心者や C++ しか知らない人が
C++ を Better than C として使うことは不可能に近い
C も C++ も知ってて C++ を敢えて C として使うことが出来る人だけが
Better than C として使える
C++ を Better than C として使うことは不可能に近い
C も C++ も知ってて C++ を敢えて C として使うことが出来る人だけが
Better than C として使える
505デフォルトの名無しさん (ワッチョイ f3c3-9Nj+)
2018/11/24(土) 14:54:34.26ID:LPhqEBYf0 Cで書くならちゃんとCとしてCの範疇で規格に沿って書けと思うけどな
準拠先はC89でもC99でもC11でもいいけどさ
なんで異言語(C++)を中途半端に混ぜようとするの?
準拠先はC89でもC99でもC11でもいいけどさ
なんで異言語(C++)を中途半端に混ぜようとするの?
506デフォルトの名無しさん (ワイーワ2 FFdf-OXRW)
2018/11/24(土) 15:10:55.48ID:4kdGLnPdF そういうときは拡張子 .c にする
507はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 6f6f-zhOP)
2018/11/24(土) 15:13:10.06ID:yk09TxVj0 D&E では、 C から C++ への段階的な移行が出来ることを
意図して C++ を設計した (Better C として使える) ということが書いてあって、
確かに私も C を知らなかったら C++ はまともに使えなかっただろうなと思う。
でも、 C の延長線上で C++ の便利な機能を使ったプログラムって
どこまで C++ の機能を取り入れても「C++ 的なプログラム」ではないなとも思う。
C++ を (綺麗に) 使うなら C++ を前提とした設計が必要なので、
Better C として使うことを積極的には勧めにくいという気持ちもある。
欲しいのが「C++」ではなく「考え方は C っぽいけどもうちょっと高級なやつ」ならば
Go あたりを考えてもいいんじゃないかな。
意図して C++ を設計した (Better C として使える) ということが書いてあって、
確かに私も C を知らなかったら C++ はまともに使えなかっただろうなと思う。
でも、 C の延長線上で C++ の便利な機能を使ったプログラムって
どこまで C++ の機能を取り入れても「C++ 的なプログラム」ではないなとも思う。
C++ を (綺麗に) 使うなら C++ を前提とした設計が必要なので、
Better C として使うことを積極的には勧めにくいという気持ちもある。
欲しいのが「C++」ではなく「考え方は C っぽいけどもうちょっと高級なやつ」ならば
Go あたりを考えてもいいんじゃないかな。
508デフォルトの名無しさん (ワイーワ2 FFdf-OXRW)
2018/11/24(土) 15:17:05.59ID:4kdGLnPdF Dが過疎ってるしな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」★2 [ぐれ★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」 [ぐれ★]
- 広島・廿日市、おこめ券配布せず 全市民に3000円現金給付へ [どどん★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★6 [七波羅探題★]
- 【警視庁】走行中の電車で女性に露出した下半身押しつけたか 無職の男(46)逮捕「チャンスがあればいつでもやる」 [nita★]
- 気象庁「最悪のケースでは311のような地震」青森で震度6強地震「北海道・三陸沖後発地震注意情報」…北海道から千葉の182市町村が対象 [♪♪♪★]
- 朝日新聞記者「中国軍のレーダー照射はこめかみに銃を突きつけられたのと同じ。僕なら反撃して撃墜してる」高市 [931948549]
- 【実況】博衣こよりのえちえちチーズケーキを仕込み(雑談あり)🧪
- 野党が“おこめ券”追及 高市早苗「鈴木農水大臣がお米券大好きなんよ」😹 [817148728]
- 【高市悲報】あまかいちし、「お米券は事務手数料がかかり過ぎるので、現金給付にしまーす!」 [947959745]
- 【速報】1ポンド210円で日英GDP逆転(残り1.5円)...世界6位の経済規模に転落 [237216734]
- 【高市悲報】中国軍「公海で空母の発着訓練するって事前通告したのになんで自衛隊機は急接近してきたんだ…?」中国軍困惑★2 [931948549]
