[過去ログ] C++相談室 part134 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
653: (ワッチョイ 7bcb-R9c4) 2018/03/15(木)17:09 ID:QEAEy0DH0(2/3) AAS
>>652
アンカしくった。
サイズチェックの指摘は>>647向け
654: (ワッチョイ af7e-hKdO) 2018/03/15(木)17:21 ID:XNo6/02A0(3/4) AAS
ごめんinsertとcopy逆だった
655(1): (アウアウウー Sa9d-mp3k) 2018/03/15(木)17:28 ID:q9z+dA6Ga(2/2) AAS
>>652
insertの中で追加数数えてreserveと同じことしてるでしょ
まさかループで一個ずつ挿入なんて実装はあるまい
656(1): (ワッチョイ 7bcb-R9c4) 2018/03/15(木)19:10 ID:QEAEy0DH0(3/3) AAS
>>655
失礼。挿入位置のiteratorもあるから、3つ受け取るタイプの誤り。
657(2): (アウアウウー Saaf-0FUd) 2018/03/15(木)22:07 ID:dQGk6ayHa(1/3) AAS
cpprefjpの任意の式によるSFINAEの頁でdecltype(a + b, bool())と記載されているコードがあるんだけれど、
このa+b, bool()はラムダ式?
該当頁
外部リンク[html]:cpprefjp.github.io
658: (アウアウウー Saaf-0FUd) 2018/03/15(木)22:09 ID:dQGk6ayHa(2/3) AAS
アドレス間違えた
外部リンク[html]:cpprefjp.github.io
659: (ワッチョイ a3dd-hKdO) 2018/03/15(木)22:15 ID:3Ym40JOm0(2/2) AAS
ラムダ式が[で始まらないことってあるのか?
660(1): (ワッチョイ 9beb-85/6) 2018/03/15(木)22:41 ID:ubsUN4Yb0(1) AAS
>>657
カンマ演算子とdecltypeでコンパイル時に評価される
decltypeの中身を左から順に評価し、結果は一番右の型が帰る
この場合はa+bの型が評価出来ればbool、できなければSFINAE
661(1): (ワッチョイ af7e-hKdO) 2018/03/15(木)22:41 ID:XNo6/02A0(4/4) AAS
>>657
>a + b
a + bが可能かどうか調べる
次の式を評価する
>bool()
bool型の初期値を返す
つまりdecltype(a + b, bool())はa + bでSFINAEをしつつカンマ演算子でdecltypeにbool型の値を与えて返り値の型をbool型にしている
662(1): (アウアウウー Saaf-0FUd) 2018/03/15(木)22:57 ID:dQGk6ayHa(3/3) AAS
decltypeで,も使えたんですね。一番右の型が帰るということはdecltype(a+b,a-b,a*b,a/b,bool())とかしてもよさそう。。。
自分ではその機能を説明してるページを見つけれませんでした。
ありがとうございます。
663: はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) 2018/03/15(木)23:50 ID:VBbQqJBt0(1) AAS
>>660-661
それで良いのか。 いいこと知った。
いちいち enable_if をしとったわ。
664(1): (スップ Sddb-dtcO) 2018/03/16(金)07:54 ID:UGENGinrd(1) AAS
decltypeって実行時の型を得れる?
665(1): (アウアウウー Sa9d-mp3k) 2018/03/16(金)09:23 ID:Qbg0TjKpa(1) AAS
>>656
a.reserve(a.size()+b.size());
a.insert(a.end(),b.begin(),b.end());
こんな感じのことをやるのかと思ったんだけど、これ意味ないでしょ?
666: (スッップ Sd2f-JcB1) 2018/03/16(金)10:04 ID:SYp9l/ZId(1) AAS
>>664
declとはdeclareの略であることを考えると
667: (ワッチョイ 7b34-HLM0) 2018/03/16(金)10:17 ID:g2YO+i2m0(1) AAS
a.reserve(a.size()+b.size());
copy(b.begin(),b.end(),back_inserter(a));
668: (ブーイモ MM3f-R9c4) 2018/03/16(金)15:36 ID:0r9PteXTM(1) AAS
>>665
random iteratorの場合の特殊化実装がありました。ごめんなさい
669: (ササクッテロレ Sp6f-N9vq) 2018/03/16(金)18:08 ID:Al45BtF0p(1) AAS
>>662
decltype comma trickでググれ
670: (ワッチョイ f3e7-dVgQ) 2018/03/16(金)20:56 ID:DBylbaSH0(1) AAS
まあoperator,()が定義されてるとまずいんだけどな
671(2): (アウアウアー Sa83-2N1f) 2018/03/19(月)18:07 ID:/U1oheuNa(1) AAS
インスタンスにdeleteかけたとき、メンバ変数が破壊されるのとデストラクタが実行されるのはどっちが先?
今書いてるコードがデストラクタでメンバ変数アクセスすると落ちることがあるから、破壊されるのが先なんだろうか?
672(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) 2018/03/19(月)18:15 ID:RG1qd9Pc0(1) AAS
>>671
原則としては構築の逆順って覚えておくと間違えない。
673(2): ◆QZaw55cn4c (ワッチョイ 9360-MOYc) 2018/03/19(月)18:33 ID:lFWK67Qs0(1) AAS
>>671
delete this; とかしてませんか、これは基本的に避けたほうがいい
674: 片山博文MZ◆T6xkBnTXz7B0 (スフッ Sdd7-5vKF) 2018/03/19(月)18:43 ID:SpFx62hRd(1) AAS
>>673に同意。確保と破棄は生ポインタを触らずに自動化した方がいい。スマートポインタとかコンテナとか。
二回deleteを避けるためにポインタにNULLを代入する技もある。
675: (アウアウウー Saaf-0FUd) 2018/03/19(月)21:03 ID:kCg91IvDa(1) AAS
そろそろNULLは駆逐してnullptrに移行させたい
676: (ワッチョイ 53bd-mA8b) 2018/03/19(月)22:46 ID:jnDGFLZz0(1/3) AAS
>今書いてるコードがデストラクタでメンバ変数アクセスすると落ちることがある
へ〜んなの
ていうかメモリを壊しているかすでにdeleteされた死骸を再deleteしてるとしか、
>二回deleteを避けるためにポインタにNULLを代入
OpenCVのC言語インターフェースのやつ、
677(1): (ワッチョイ c193-7BQk) 2018/03/19(月)22:57 ID:cmSuhSLP0(1/2) AAS
C++勉強中の者です。
外部リンク:codepad.org
ソース自体をプログラムに読み込ませると
#includ
で止まってしまいます。
Cのfgets()のようには使えないのでしょうか。
678(1): 2018/03/19(月)23:06 AAS
>>677
According to the C++ reference
外部リンク:en.cppreference.com
getline sets the ios::fail when count-1 characters have been extracted.
You would have to call filein.clear(); in between the getline() calls.
679: (ワッチョイ c193-+EIL) 2018/03/19(月)23:26 ID:cmSuhSLP0(2/2) AAS
>>678
区切り文字を読まないとfail状態になってそれ以降は失敗し続けるので止まってしまうということですかね
680: (ワッチョイ 53bd-mA8b) 2018/03/19(月)23:27 ID:jnDGFLZz0(2/3) AAS
std::getline()は読み込んだ文字列に改行文字を含めないから
行末まできちんと読んだのか
文字数カウントのせいで読み込みが行の途中でぶちきれたのか
直ちにはわからないといいうアホウな仕様
判別には結局std::basic_istream<T>::unget()の助けが要る
C++標準ライブラリのうちストリーム関連だけは腐っているからC言語のを使いなしゃれ
※ 個人の感想です
681: (ワッチョイ 53bd-mA8b) 2018/03/19(月)23:28 ID:jnDGFLZz0(3/3) AAS
訂正
△: C++標準ライブラリのうちストリーム関連だけは腐っているからC言語のを使いなしゃれ
◎: C++標準ライブラリのうちストリーム関連だけは本当に腐っているからC言語のを使いなしゃれ
682: (ワッチョイ f3e7-dVgQ) 2018/03/20(火)01:02 ID:mI6/gPTY0(1/3) AAS
入出力はCもC++もクソまみれだからなぁ
ちょっとコンソール出力を整形しようとして、あの肥溜めのクソくだらない落とし穴地獄にいちいち付き合わされた結果
プログラミングそのものが嫌いになる人達が山のようにいるのが本当に残念だ
683: (ワッチョイ e19f-M10G) 2018/03/20(火)01:12 ID:PXcTmg8I0(1/2) AAS
いるか?
684: (ワッチョイ f3e7-dVgQ) 2018/03/20(火)01:20 ID:mI6/gPTY0(2/3) AAS
自分が知ってる昔はいっぱいいたけど
最近だとスクリプト言語から先に入るから減ってるのかね?
685(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) 2018/03/20(火)01:21 ID:N1yoGURK0(1/2) AAS
オブジェクトの外部表現を型ごとに定義できる iostream は悪くない設計だと思うんだけどなぁ。
686: (ワッチョイ 7bcb-R9c4) 2018/03/20(火)01:41 ID:PjVFN34O0(1) AAS
ローカライズに向いてない。
打鍵数が倍増どころじゃない。
モダン言語はみなprintfライクだしねー
687: (ワッチョイ e19f-hKdO) 2018/03/20(火)02:48 ID:PXcTmg8I0(2/2) AAS
printf()は便利ではあるが桁を揃えて出す時に面倒になることもある。
特にこの頃は UTF-8 で漢字混ざりだと文字幅とバイト数または文字数が一致しない。
そもそもそんなものの一致をあてにすること自体が間違いかも知れないが、Unicode
には一応 HALF WIDTH, FULL WIDTH 等があるんだから何とかしてこれを生かした
フォーマッタが欲しいところではある。
688(1): (アウーイモ MMb3-2N1f) 2018/03/20(火)06:49 ID:eswqOupsM(1) AAS
>>672
>>673
あるクラスがあって、その中でスレッド立ててるの
それでクラスのデストラクタが呼ばれたら、メンバ変数のスレッドポインタをつかってスレッドcancel->joinってやろうとしてて
それでjoin呼ぶあたりで落ちるんだよね
作られた逆順ってことはデストラクタのほうが先に実行かな?それだとメンバ変数はいきてるよね
689: (ワッチョイ af7e-hKdO) 2018/03/20(火)06:55 ID:83N3dpVy0(1) AAS
streamはコンソールの入出力のためだけにあるわけじゃないから
690: (ワッチョイ 1ff3-hKdO) 2018/03/20(火)06:55 ID:Wsijl5j90(1) AAS
つーてもcoutだってsetw/setfillはあんまり使いやすくないしなあ
operator<<をユーザー定義できるのはありがたいけどね
691: (ワッチョイ a723-tAvx) 2018/03/20(火)13:10 ID:geezFnQ40(1) AAS
>>688
デストラクタの実行中はそのクラスとその派生元クラスのメンバ変数はまだ使える
必ず落ちるならデバッガでバックトレース見てみたら?
692: (ワッチョイ f3e7-dVgQ) 2018/03/20(火)19:32 ID:mI6/gPTY0(3/3) AAS
別の原因に見える
まずデストラクタじゃなくて普通のメンバ関数で明示的に呼んで止めた時に大丈夫か確認してはどうか
693: (スップ Sd03-tAvx) 2018/03/20(火)19:45 ID:KQMGt9+Dd(1) AAS
pthread_cancel はいろんなことがよく分かっている人しか使ってはいけない
694(1): (ワッチョイ 53bd-mA8b) 2018/03/20(火)22:33 ID:f35CyiEk0(1) AAS
>>685
「<<」と「>>」の2種類しか用意できんやんけ
それらを表示と入力に割り当ててしまえば結局シリアライズのための固有なメソッドなりインターフェースなりを別途作らねばならんぬ、
そもそもの構想からして頓挫してゐる、
頓挫してゐるのだ…!
695: はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) 2018/03/20(火)23:55 ID:N1yoGURK0(2/2) AAS
>>694
表示用とシリアライズ用はストリームの性質で切り替える筋合いのものだろ?
シリアライズ用のストリーム型を用意してオーバーロードすればいいんじゃね。
696(3): (ワッチョイ 53bd-mA8b) 2018/03/21(水)00:33 ID:7c9Ne47J0(1) AAS
ちょっなんで数億年の生物史史上はじめて
ようやっとSTDINとSTDOUTとSTDERRの3種類に世界が抽象化されたストリームという概念|を
細分化するという元の木阿弥にしますか;;
藻前は
some_command | tee result.txt > some_file.bin
とかいったパイプやリダイレクトを表示専用とかシリアライズ専用とかに分けたいのかっていうか、
697: (ワッチョイ e17f-hKdO) 2018/03/21(水)00:44 ID:p0rFESlF0(1) AAS
なに藻前って
698(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) 2018/03/21(水)01:10 ID:MouF+uE40(1/9) AAS
>>696
お前は何を言ってるんだ。
ここで言ってるストリームは C++ 用語のストリームだぞ。
「ストリーム『型』」ってわざわざ書いてるんだからわかれよ。
下位レイヤでは好きなところに繋げればいい。
699: (ワッチョイ af7e-hKdO) 2018/03/21(水)01:18 ID:9NBOfW2C0(1/3) AAS
streamとstreambufの違いを理解しよう
700: はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) 2018/03/21(水)01:24 ID:MouF+uE40(2/9) AAS
要するに std::basic_ostream を継承した何かを作ればいいんだ。
701: (ワッチョイ b180-lboF) 2018/03/21(水)06:52 ID:fTbDiwfs0(1) AAS
ストリームはもう捨てたほうが良いぞ。
おじさんからの警告だ。
702: (ワッチョイ 7b34-HLM0) 2018/03/21(水)07:14 ID:2n7LolrI0(1) AAS
便利そうに見えて便利に使えない
それがstream
703: (ワッチョイ ebb6-CZ08) 2018/03/21(水)07:18 ID:zecIlzA/0(1) AAS
「29歳既婚、2年前に会社を辞めた。ボードゲーム作りを始めて3700万円を
売り上げたけど何か聞きたいことはある?」回答いろいろ
外部リンク[html]:labaq.com
日本ボードゲーム界の異端児に聞く!ボードゲームデザイナーとして生きていくには?
外部リンク:bodoge.hoobby.net
はじめてボードゲームを作ってはじめてゲームマーケットに出店した ので、ひとり反省会をしてみる。
外部リンク:datecocco.hatenablog.com
はじめて作ったボードゲームを売った話
外部リンク:nrmgoraku.hateblo.jp
ボードゲームイベント「ゲームマーケット」から業界が見えた!
省12
704: (ワッチョイ 1ff3-hKdO) 2018/03/21(水)10:36 ID:DQv7yGEy0(1) AAS
>>696
カンブリア紀からオルドビス紀にかけて行われた抽象化は
今でいうインターフェイスの考え方で、当たり前だが
インターフェイスを継承する実装クラスは無数にあってよい
そういうのは元の木阿弥とは言わないぞ
705(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) 2018/03/21(水)15:09 ID:MouF+uE40(3/9) AAS
>>696
さっき >>698 で説明した C++ の話題を置くとしても、
(まあ C++ スレで C++ の話題を置いちゃうのはどうかと思うが)
標準入力、標準出力、標準エラー出力のみっつしかないってことはない。
エラー出力をリダイレクトするときに 2> って書くの、どういう意味だと思ってる?
2 はファイルディスクリプタな。
デフォでオープンされてるのが 0, 1, 2 ってだけで、やりたければ 3 でも 4 でも使っていい。
706(1): ◆QZaw55cn4c (ワッチョイ 9360-MOYc) 2018/03/21(水)15:42 ID:ZGJmhAHm0(1/2) AAS
>>705
空いているディスクリプタが使用されるとしても、自分で特定の数字を指定してディスクリプタにすることはできなかったんじゃなかったかな?
707: ◆QZaw55cn4c (ワッチョイ 9360-MOYc) 2018/03/21(水)15:50 ID:ZGJmhAHm0(2/2) AAS
>>706
失礼、dup2() というのがあったね…
708: (ワッチョイ af7e-hKdO) 2018/03/21(水)15:58 ID:9NBOfW2C0(2/3) AAS
coutがSTDOUTにつながってるだけでここは何につなげてもいいということ
streambufの中身はただの配列でもいいし、アプリケーションのロガーでもいいし、循環バッファでもいいし、通信のポートでもいい
709(1): (ワッチョイ a723-tAvx) 2018/03/21(水)19:28 ID:TV3lE0eZ0(1) AAS
シリアライズするときはバイナリ表現にしたいし
ログするときは文字列表記にしたいし
710: はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) 2018/03/21(水)20:00 ID:MouF+uE40(4/9) AAS
>>709
だからそれはストリームオブジェクトの型で切り替えろって言ってるんだろうが
711: (スプッッ Sd13-tAvx) 2018/03/21(水)20:30 ID:VVSY5O5Ed(1) AAS
それを嫌だって言ってんだよ
バイナリの読み書きは write() だの read() で十分
712: はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) 2018/03/21(水)20:33 ID:MouF+uE40(5/9) AAS
read なり write なりを「使う」のは別にいいよ。
それを C++ 上でどのように抽象化すればいいかって話なんだから。
そういうレイヤの違う話を混ぜ込んでくるなよ。
713: (スップ Sd03-tAvx) 2018/03/21(水)20:43 ID:KgSvodNyd(1/2) AAS
そこで新しい型を設けてまで << を使う意味がない
cout にバイナリでシリアライズするときはどうすんの?
size_t serialize(const T& t, ostream& os)
とかを各型用に書く方がマシ
714(1): (スップ Sd03-tAvx) 2018/03/21(水)20:47 ID:KgSvodNyd(2/2) AAS
バイナリでシリアライズするに際して
別の型のストリームオブジェクトを作ってまで
<< だの dec だの endl を使えるようにすることの利点を説明して欲しい
715(1): (ワッチョイ af7e-hKdO) 2018/03/21(水)21:36 ID:9NBOfW2C0(3/3) AAS
例外を除いて
operator<<()は書式化出力
write()は非書式化出力
なのでバイナリを出力するときはwrite()を使うべき
>size_t serialize(const T& t, ostream& os)
シリアライズのような複雑な操作をするときはこれは悪い選択じゃない
というかstreamそのものを放り込むのはたまに見かける
716: (ブーイモ MM61-/CVT) 2018/03/21(水)22:02 ID:52xrh1HkM(1) AAS
えっブロックデバイスにもStreamを
717(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) 2018/03/21(水)22:15 ID:MouF+uE40(6/9) AAS
>>715
書式化 (formatted) ってのと、結果がバイナリかというのは直行する概念だよ。
シリアライズってのはオブジェクトのバイト列をそのまま出力することじゃなくて、
バイナリ形式の特定のフォーマットにして出力することだろ。
それは書式化って言うんだよ。
718: はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) 2018/03/21(水)22:26 ID:MouF+uE40(7/9) AAS
>>714
マニピュレータを使える意味はないかもな。
使えないように定義することも出来るし、意味がないなら使えないようにしておくべき。
ここでは抽象化の話をしているんだ。
出力先が人向けのテキスト表現であるか機械向けのシリアライズ表現であるかによって
書き方を変えなきゃならない、相手を意識しなきゃならないというよりは、
相手によって自動で切り替わって欲しいってことなんだよ。
意識しなくていいデザインってのは意識しにくくなるってことと表裏一体だから、
見えなくなるのが気にくわないってのならわかる。
719(1): (ワッチョイ 23f9-y9O9) 2018/03/21(水)22:26 ID:OwhHF7Zm0(1) AAS
直交
720: はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) 2018/03/21(水)22:29 ID:MouF+uE40(8/9) AAS
>>719
スマソ。 >>717 の直行は直交の書き間違いやね。
721(1): (ワッチョイ 2b50-bRBW) 2018/03/21(水)23:13 ID:NRxI71LE0(1) AAS
無意味な処理が嫌だとか言っておきながら
ここでは無駄の塊みたいな方法を勧める
アホですね
722: はちみつ餃子◆8X2XSCHEME (ワッチョイ 3b6f-hKdO) 2018/03/21(水)23:50 ID:MouF+uE40(9/9) AAS
>>721
俺は一貫して抽象化の話をしてるつもりなんだが。
プログラマの意図を表現できる書き方をすべきって話をしてんの。
無意味な処理をしろと書いてあるのをプログラマの意図として読み取っていいのか?
そうじゃないだろう。
C++ がせっかく用意しているライブラリを活用するのが無駄なのか?
そうじゃないだろう。
723: (ワッチョイ 5b80-AyCB) 2018/03/22(木)07:21 ID:tiDItZ1f0(1/2) AAS
ハッキリ言ってストリームは蛇足だったわ。
廃止したほうが良いわ。
724: (ワッチョイ 5b80-AyCB) 2018/03/22(木)07:25 ID:tiDItZ1f0(2/2) AAS
Boostもそうだけど、有り余るC++のパワーをカッコよく使いこなそうとしてやっちまったみたいな。
もうちょっと使う側の立場にたつべきだな。
725: (ワッチョイ 8a7e-zkh5) 2018/03/22(木)08:38 ID:0Y4DSJfq0(1/5) AAS
黒魔術だなんだ言って楽しめないようではC++は向いていない
726(1): (ワッチョイ 37f3-zkh5) 2018/03/22(木)10:14 ID:Q5Rs9TJ/0(1/2) AAS
蛇足ねえ。。。
禿本1stでoperator overloadのデモ用に作られたサンプルなんだが
そういうのは後で取って付けた存在といえるのか?
727: (ワッチョイ 1a12-aRf7) 2018/03/22(木)17:28 ID:PBLsyShY0(1) AAS
業界全体としては奥の深さを求める人(求道者)を一か所に集め留めるのには非常に有益な言語
728: (ワッチョイ 8a7e-zkh5) 2018/03/22(木)17:34 ID:0Y4DSJfq0(2/5) AAS
そのうちAsioやRangeあたりも標準化されるだろうし
もうその方向に突き抜けてほしい
使いやすい言語なんか他にいくらでもある
729: はちみつ餃子◆8X2XSCHEME (ワッチョイ b66f-zkh5) 2018/03/22(木)17:41 ID:HExEyyqO0(1/2) AAS
具体的にどういうときに不便なのか語れよ。
使いにくいってだけじゃ何にもわからん。
730: (ワッチョイ 8a7e-zkh5) 2018/03/22(木)17:43 ID:0Y4DSJfq0(3/5) AAS
C++に関しては慣れてない人がそう言ってるだけだから
731(3): (ワッチョイ a393-4ZrE) 2018/03/22(木)19:57 ID:sR+euIcT0(1) AAS
>>726
どの資料だったか覚えてないけど、演算子オーバーロードに関して
先生は「元の演算子の意味とかけ離れた挙動をさせるのは避けるべきだ」
みたいなことも書いてるよな。
まぁ、原則は指針であって絶対の規則じゃないわけだけど、
<< >> をビットシフトからストリーム入出力に振り替えておいて
どの口で言うか、このハゲッー! とか思ったり。
732(1): (ワッチョイ 8a7e-zkh5) 2018/03/22(木)20:06 ID:0Y4DSJfq0(4/5) AAS
>>731
ストリームのような周知の事実になっているものはそれには当てはまらないでしょ
733(3): はちみつ餃子◆8X2XSCHEME (ワッチョイ b66f-zkh5) 2018/03/22(木)20:22 ID:HExEyyqO0(2/2) AAS
>>731-732
まああれくらいのものになると、オブジェクトに追加で突っ込んでいくような動作が「元の演算子の意味」になっちゃってるよな。
そんなことより C++20 に入る予定のカレンダーでは日付を 2018y/mar/22 とか書けるらしくて、
これはさすがにクソやろ……。
これもいずれ普通に受け入れる気持ちになるだろうか。
734: (ワッチョイ 8a7e-zkh5) 2018/03/22(木)20:47 ID:0Y4DSJfq0(5/5) AAS
>>733
既にfilesystemのpathが/で階層作れるから
current_path / "aho" / "baka"みたいに
C++の演算子は連想ゲームだ
735: (ワッチョイ 37f3-zkh5) 2018/03/22(木)22:18 ID:Q5Rs9TJ/0(2/2) AAS
>>731
あの頃の禿はreverse_iteratorなんて思いもよらず
operator+が減算の動作をすることを否定してたね
736: (アウアウカー Sac3-2dLA) 2018/03/23(金)00:38 ID:2SqL+aT8a(1) AAS
>>733
日付の表記は何種類かあるし年/月/日でも日/年/月でも表せるなら結構便利だと思う。
737(1): (ワッチョイ a393-4ZrE) 2018/03/23(金)08:21 ID:VCdaFb7Y0(1) AAS
>>733
標準に「日付を表す型」みたいのが追加され、
それ用リテラルの接尾語(のひとつ)が ""y で 2018y は2018年を表す、
さらにこの型では / は日付要素を区切る演算子としてオーバーロードされてる。
…といった感じか?
確かに虚心坦懐に / を見れば、割り算のコンピュータ向け代用記号だけでなく
日付の区切りや、ファイルシステムの階層区切りでもあるけど。
738: (ワッチョイ 1a12-aRf7) 2018/03/23(金)09:13 ID:xSYf1jdZ0(1) AAS
aのb乗
a^b
a**b
739: (スフッ Sdba-5bpY) 2018/03/23(金)10:31 ID:fMiQp2pkd(1) AAS
こんだけ演算子は深いのになぜか未だに[]は引数を一つしか取れない
740(3): (アウアウウー Sac7-zkh5) 2018/03/23(金)10:45 ID:COiOJTLla(1/4) AAS
「静的」、「動的」というのがよく分からないのですが、詳しく書いてある本はありますか?
ヒープ領域がどうたらとかいうのもよく分かりません。
スタックとかいうのもよく分かりません。
詳しく解説している本を教えてください。
741: (アウアウウー Sac7-zkh5) 2018/03/23(金)10:48 ID:COiOJTLla(2/4) AAS
ロベールのC++の本を読んでいて疑問に思いました。
742: (ドコグロ MM92-a4pf) 2018/03/23(金)19:28 ID:FQA7q+b8M(1) AAS
>>737
> …といった感じか?
そんな感じらしい
外部リンク:d.hatena.ne.jp
日本だと基本 年/月/日 しかないしソースコードに 睦月、如月、弥生 なんて書く奴はいないからいまいち便利さがわからんけどあちらの人にとっては便利なんだろうか
743: (ワッチョイ 0e8a-MDAi) 2018/03/23(金)19:30 ID:5ELqDBlL0(1/2) AAS
ポップとプッシュの概念もよく分かってないのでは
外部リンク[html]:www.cc.kyoto-su.ac.jp
これが分かって来るとC++に於けるバッファオーバーフローBOF攻撃の仕組みが分かって来る
744: (ワッチョイ 0e8a-MDAi) 2018/03/23(金)19:42 ID:5ELqDBlL0(2/2) AAS
バッファオーバーフロー: #1 概要
外部リンク[html]:www.ipa.go.jp
745: (ブーイモ MMe7-Gtgj) 2018/03/23(金)19:52 ID:e6tCc9HsM(1/2) AAS
五曜は対応してくれると有り難いかも知れないけど
他はいらんな
746(1): ◆QZaw55cn4c (ワッチョイ ba60-fzSc) 2018/03/23(金)19:55 ID:J4dYcx4H0(1/4) AAS
>>740
C/C++ のメモリ構造について、になります。
これは基本的な事項で、初級を脱するためにはぜひとも必要な知識なんですが、
そのわりにあまりに解説されることがないような気がします
適切な説明がないものか…
747(2): ◆QZaw55cn4c (ワッチョイ ba60-fzSc) 2018/03/23(金)19:59 ID:J4dYcx4H0(2/4) AAS
>>740
まず、メモリの管理方法として
1. スタックエリア、に格納するやり方
2. ヒープエリア、に格納するやり方
の大きく分けて二通りがあり、
2. ヒープエリア、二格納するやり方について
2-1. 「静的」:static キーワードを使うやり方
2-1. 「動的」:malloc()/free() または new/delete を使うやり方
省1
748: (ブーイモ MMe7-Gtgj) 2018/03/23(金)20:10 ID:e6tCc9HsM(2/2) AAS
データセグメントって無くなったの?
749(1): (アウアウウー Sac7-zkh5) 2018/03/23(金)20:39 ID:COiOJTLla(3/4) AAS
>>746-747
ありがとうございました。
あまりそういう本はないんですか。
もしかしたら、ヘネシーらのコンピュータのハードの本とか読まないといけないんですかね?
あるいはコンパイラの本ですかね?
750(1): (ブーイモ MM7f-Dh3i) 2018/03/23(金)20:40 ID:l1/KZZgNM(1) AAS
>>747
一般的に、静的領域をヒープとは呼ばんだろ
751(1): (ワッチョイ 8a7e-zkh5) 2018/03/23(金)20:41 ID:qmCr5Czp0(1) AAS
こういうのはネットで覚えたからどういう本に書いてあるかはわからん
752(1): ◆QZaw55cn4c (ワッチョイ ba60-fzSc) 2018/03/23(金)20:45 ID:J4dYcx4H0(3/4) AAS
>>749
手っ取り早いのは「マシン語」を書いてみる、マシン語(アセンブリ言語)のルーチンを C にリンクさせる、ていうのが王道ですが、
昨今はマシン語のいい教科書がない、という気がします
gcc のインラインアセンブラとかが有望だとは思いますが、まあ簡単にマシン語を記述している教材なんていうものが思いつかない、マシン語の需要というか動機がないのかもしれませんが
上下前次1-新書関写板覧索設栞歴
あと 250 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.033s