[過去ログ] C++相談室 part134 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
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 のインラインアセンブラとかが有望だとは思いますが、まあ簡単にマシン語を記述している教材なんていうものが思いつかない、マシン語の需要というか動機がないのかもしれませんが
753: ◆QZaw55cn4c (ワッチョイ ba60-fzSc) 2018/03/23(金)20:46 ID:J4dYcx4H0(4/4) AAS
>>750
うーむ、たしかに static を「ヒープ」とは言わないかもしれませんね…
754: (アウアウウー Sac7-zkh5) 2018/03/23(金)20:47 ID:COiOJTLla(4/4) AAS
>>752

ありがとうございました。
マシン語の本を探してみます。

>>751

ありがとうございました。
本に書いていない場合には仕方がないのでネットで調べてみることにします。
755: はちみつ餃子◆8X2XSCHEME (ワッチョイ b66f-zkh5) 2018/03/23(金)22:32 ID:ehYNLgPn0(1) AAS
どうだろ?
C++ の言語仕様的にはオブジェクトの寿命に違いがあるだけで、
それを実現するメカニズムについては詳細な規定があるわけではない。

まずは C++ のパラダイムの中で理解を深めれば自然に理解できるんじゃないの?
手を広げすぎても収集が付かなくなる気もするんだけどなぁ。
756
(2): (アウアウカー Sac3-E6if) 2018/03/23(金)22:56 ID:io4DvPx8a(1/2) AAS
マシン語に手を出すのは飛躍しすぎだしやめといた方がいい。ある程度C++になれてより深く理解したいと思うようになってからがいいよ。

動的、静的は大雑把に言えば、コンパイル時つまりソースを書いた時点で決まるものを静的、実行時に変化するものを静的と呼ぶ。
変数の型とかメモリ領域の確保の仕方とか、いろんな文脈で使われる。
757: (アウアウカー Sac3-E6if) 2018/03/23(金)22:57 ID:io4DvPx8a(2/2) AAS
>>756
実行時に変化するのは動的でした
758
(1): (ブーイモ MM26-Z/eb) 2018/03/23(金)23:15 ID:g9Gf634nM(1) AAS
>>756
決まる、決まらないの主語は何でしょうか?
759: (ワッチョイ 7abd-aumg) 2018/03/24(土)00:54 ID:LvcaB4Q+0(1) AAS
メモリについて知りたいんならC言語から始めたら良い
Unixの移植目的で設計されたC言語は、実行効率のためほとんど必然的にメモリが透けて見える言語になったんである
『プログラミング言語C』という名著もある
これの後ろの方のmalloc()の実装サンプルまで通読したら
シングルCPUの範疇ならメモリについて嫌でもワカル

『プログラミング言語C++』と違って三日もあれば読めれる手頃な分量やしな!
760: (ワッチョイ a39f-aRf7) 2018/03/24(土)01:27 ID:eFb1d56B0(1/7) AAS
>>758
横だが。

何でも、だよ。
型なら静的型、動的型というし、メモリ確保なら静的確保、動的確保という。

マシン語は飛躍しすぎ。
CのエンハンスとしてC++を使うのならマシン語(インラインアセンブラ)もありだが、
C++をJava/C#/C++の並びで使うつもりならインラインアセンブラとか禁止でしょ。

というかそもそもその辺が分からない=全くの初心者がC++からやろうというのが間違い。
PythonかRubyあたりから始めとけ。(どっちも俺は知らんけど)
761: (ワッチョイ 36e7-0D9k) 2018/03/24(土)01:40 ID:nPxx/G4d0(1/5) AAS
コンパイラがコンパイル時に決めるものが静的、出来上がったプログラムを実行した時に決まるのが動的
C++だとそういう理解の方がわかりやすいと思う

マクロ、テンプレート、constexpr、リテラル、式や変数や関数やクラスの宣言型なんかは静的
静的なものは全部コンパイラが決めるからプログラムの実行時にはいちいち計算しないし、バグで決められなかったらコンパイラが怒る

変数やインスタンスの中身、関数呼び出し、仮想クラスのオブジェクト型なんかは動的
実行環境や食わせた入力・ファイルなんかに依存するからプログラムを実行してみないと決まらない
動的なバグはコンパイラは感知できないから客先でプログラムを実行するとクラッシュする

適当だけどだいたいこんな感じ
762: (ワッチョイ a39f-aRf7) 2018/03/24(土)02:04 ID:eFb1d56B0(2/7) AAS
細かいようだが、

コンパイル時に確定=静的
実行時に確定=動的(=コンパイル時に確定できない)

で若干の例外(staticとか)があるが大体あってる。

「プログラミング言語C」はやめとけ。名著だが、あれは
「既にプログラミングを出来る人が、C言語を学ぶ」用であって、全くの初心者じゃ読めない。
「プログラミング言語C++」も止めとけ。あれも「既にCを使える人が…」で以下同文。
他本は総じてゴミなのも事実だが。
763
(1): (ワッチョイ 5b80-AyCB) 2018/03/24(土)02:06 ID:Z79Bg+7E0(1/7) AAS
特定のアドレスにデータを配置して割り込みかける必要があるからじゃないだろか。
764: (ワッチョイ 36e7-0D9k) 2018/03/24(土)02:09 ID:nPxx/G4d0(2/5) AAS
予約語のstaticは転用されまくってわけわからなくなってるので
「静的」とソースコード上のstaticは全く別物だと思った方がいい
765: (ワッチョイ 4e81-zkh5) 2018/03/24(土)02:15 ID:qYWJwKPe0(1) AAS
その辺整理されないんだろうかね
そう言うものだという説明で
不本意ながら納得する事何十年
766: (ワッチョイ a39f-aRf7) 2018/03/24(土)02:29 ID:eFb1d56B0(3/7) AAS
そんなに混乱するか?例外としてしまって問題ないと思うが。
俺は規格には詳しくないが、(というより色々混ざってしまっているが)

・Cのstatic関数=ファイルスコープに限定、externの反対 --- (A)
 はC++ではなんとかされたのではなかったっけ?(どうせ使わないからどうでもいいが)
・staticクラス、あるいはクラスのstaticメソッド --- (B)
 は「静的」で矛盾しないから、そもそも問題ない。
・関数内static変数でプチグローバル(みたいなやつ) --- (C)
 も普通にクラスにしろ、って話でしかないし、使わないだろ。

結果、普通に使う分には特に混乱しないと思うが。
文法オタクは気にするのかもしれんが。
省6
767: (ワッチョイ a304-h0dl) 2018/03/24(土)02:33 ID:y/z0A0hW0(1/3) AAS
外部リンク:ideone.com
お兄ちゃん助けて、コンパイルが通らないの。

VCで開発してます。
jsonのメモリーモデル研究にとりあえずシェアードPTRの組んでそれからやっぱユニークPTRの変更しました。
色々いじってるのですが、意味不明なエラーが出てさっぱりわかりません。
自前のコードなら自分でどうにかするのですが、コードステップするとライブラリの中でえらーおこしててさっぱりです。
どなたかご教示ください。お願いします。
768: (ワッチョイ 36e7-0D9k) 2018/03/24(土)02:46 ID:nPxx/G4d0(3/5) AAS
std::vector<UniqueObject>にstd::pair<UniqueObject,UniqueObject>突っ込もうとしてんじゃん
ちゃんとエラーメッセージ読めよ
769: (ワッチョイ a304-h0dl) 2018/03/24(土)02:51 ID:y/z0A0hW0(2/3) AAS
え?何行目ですか?そんなバカな・・・。え?
770: (ワッチョイ 4e81-1N/V) 2018/03/24(土)03:47 ID:jOWDr2Es0(1/2) AAS
static関数は恐らくリンク工程がdynamicの場合があるため
それに対してのstaticなんだろな
771
(1): (ワッチョイ 5b80-AyCB) 2018/03/24(土)03:55 ID:Z79Bg+7E0(2/7) AAS
毎回思うんだけど、なんでgccで勉強しようとするんだろうな。
エラーメッセージ読めと言われても読めるわけがない。
一番わかりにくいメッセージを出すコンパイラで勉強する子が不憫でならない。
772: 2018/03/24(土)04:28 AAS
>>771
VCで開発って書いてんだろーが
773: (ワッチョイ 5b80-AyCB) 2018/03/24(土)04:30 ID:Z79Bg+7E0(3/7) AAS
確かに書いてあるな。
じゃあエラーメッセージ読めよ。
774: (ワッチョイ 4ee8-W72l) 2018/03/24(土)05:34 ID:GrrVfR010(1) AAS
読む気のない奴は何使ってもダメだという良い例
775: 2018/03/24(土)06:12 AAS
いつも大量のWarningが出るのを真面目に対処せず放置してるからErrorが出ても理解できない罠
776: (ワッチョイ a304-h0dl) 2018/03/24(土)06:12 ID:y/z0A0hW0(3/3) AAS
外部リンク:ideone.com

理屈の一つは多分。
イニシャライザーリストが要素をconstで構築するからmoveできない?
内部でconst_castするわけないしこれ詰んでない?

あるぅぇ〜。なんでじゃー。
777: (ワッチョイ f397-zkh5) 2018/03/24(土)06:25 ID:0qB0BmlJ0(1/2) AAS
static_castの動作内容は翻訳時に全て確定する
dynamic_castの動作内容は実行時のvtableにより変化する

static_assertは翻訳時に検査を行う
assertは実行時に検査を行う

static link libraryは翻訳時に結合する
dynamic link libraryは実行時に読み込む
778
(1): (ワッチョイ a393-4ZrE) 2018/03/24(土)06:57 ID:XPzSeRia0(1) AAS
どうやら >>740 の質問は C++ に限定した話ではないみたいだから、
C と C++ の両方を扱うスレッドに移動するのが良いんじゃないかな。

「Cの場合は…」「ここC++のスレッドだし」レベルの齟齬が避けられるし、
このスレッドを見てないC専門の人が有用な情報を持ってるかも知れん。

【初心者歓迎】C/C++室 Ver.102【環境依存OK】
2chスレ:tech

スレを勃てるまでもないC/C++の質問はここで 25
2chスレ:tech
779: (ワッチョイ a39f-aRf7) 2018/03/24(土)09:00 ID:eFb1d56B0(4/7) AAS
>>778
質問者はそれ以前の、プログラミング一般の「静的」「動的」の区別が付いてない。
スレ移動しても意味無い。というかどこのスレでも同じ。

C++のstaticは、Cのグダグダな仕様を引きずっているからおかしくなっているだけで、
C++で新たに設定されたstaticは他言語とも整合取れてる。
これに関しては「Cが悪い」でいいと思うよ。

説明している本が無いのは、そもそもそんなところで引っかからないだろう。
教習所でハイオクの話をしても意味無い。
一通り動く物を組めるようになるまではそれにフォーカスしろ、でいい。
780
(1): (ワッチョイ 36e7-0D9k) 2018/03/24(土)09:28 ID:nPxx/G4d0(4/5) AAS
静的動的の区別は大事だし引っかかりやすい所でもあるでしょ
テンプレート引数に変数突っ込んでなんで動かないのぉぉとか初心者はよくあるよ

説明してる本がないって本当か?本当なら世の本がクソすぎる
781: (ワッチョイ 5b80-AyCB) 2018/03/24(土)10:20 ID:Z79Bg+7E0(4/7) AAS
で、静的と動的の違いは何なんだよ。
ガンダムで説明してくれ。
782: (ワッチョイ 9a34-jZqL) 2018/03/24(土)10:26 ID:UtKAK1R90(1/2) AAS
staticとauto
783
(1): (ワッチョイ 5b80-AyCB) 2018/03/24(土)10:38 ID:Z79Bg+7E0(5/7) AAS
ガンダムで説明できないうちは理解できてることにならないぞ。
784: (ワッチョイ 4e81-1N/V) 2018/03/24(土)10:49 ID:jOWDr2Es0(2/2) AAS
アインシュタインみたいなこと言ってんじゃねえよ
785: (ワッチョイ 8a7e-zkh5) 2018/03/24(土)11:08 ID:aqtEECgt0(1/4) AAS
ガンダム言語の表現力を信じろ
786: (ワッチョイ a39f-aRf7) 2018/03/24(土)11:10 ID:eFb1d56B0(5/7) AAS
>>783
じゃあお前が説明しろよ。
お前は馬鹿だから出来ないと思うがな。

そもそも>>763は誰向けのレスだよ?
787: (ワッチョイ 8a7e-zkh5) 2018/03/24(土)11:18 ID:aqtEECgt0(2/4) AAS
コーディング規約にchar aznable禁止っていうのを見たことあるから
C++にガンダム要素を入れるのはタブー
788: (ワッチョイ a39f-aRf7) 2018/03/24(土)11:28 ID:eFb1d56B0(6/7) AAS
>>780
> テンプレート引数に変数突っ込んでなんで動かないのぉぉとか初心者はよくあるよ
ねえよ

> 説明してる本がないって本当か?本当なら世の本がクソすぎる
世の本は概して糞だ。これは事実だ。

というかここら辺の認識がずれるのは世代ギャップだ。
現状の本を書いてきている世代は全員CをやってからC++をやっている。
だから「静的」「動的」の区別が付かない状態でテンプレートを触ることがなかった。
当然そこを解説した本もそんなにあるはずがない。

お前らの世代がCをやらずにいきなりC++を始め、それで色々苦労した経験があるのなら、
省6
789
(1): (ワッチョイ 5b80-AyCB) 2018/03/24(土)11:30 ID:Z79Bg+7E0(6/7) AAS
C++とJavascript以外学ぶ必要があるとは思えない。
790: (ドコグロ MM92-a4pf) 2018/03/24(土)12:01 ID:3GLZsUhUM(1) AAS
>>789
それはさすがに世間が狭すぎる
土方志望としてもJava程度は触っとけ
791: (ワッチョイ 5b80-AyCB) 2018/03/24(土)12:18 ID:Z79Bg+7E0(7/7) AAS
Javaは当初の理念を失ってしまったように感じる。
792: (ワッチョイ 8a7e-zkh5) 2018/03/24(土)12:21 ID:aqtEECgt0(3/4) AAS
JavaはJVM上で動く一言語に成り下がったからな
793
(1): (ワッチョイ 36e7-0D9k) 2018/03/24(土)17:03 ID:nPxx/G4d0(5/5) AAS
今からJavaやるくらいならC#にしとけ
794: (アウアウウー Sac7-zkh5) 2018/03/24(土)18:05 ID:upExxHyGa(1/4) AAS
みなさん、ありがとうございました。

カーニハン他の本をまず読んでみようと思います。

>>793

そうなんですか?

Robert SedgewickらのAlgorithmsという教科書がJavaで書かれているため、
Javaの本も買って読んでいます。
省3
795: (アウアウウー Sac7-zkh5) 2018/03/24(土)18:06 ID:upExxHyGa(2/4) AAS
たとえば、プログラミングコンテスト関係の本では大抵C++が使われています。
796
(1): (アウアウウー Sac7-zkh5) 2018/03/24(土)18:07 ID:upExxHyGa(3/4) AAS
そういう理由から、本当はC++ではなくC# + Visual Studioを勉強したいのですが、
C++の本(ロベール)を買って読んでいます。
797: (ワッチョイ 8a7e-Igml) 2018/03/24(土)18:12 ID:aqtEECgt0(4/4) AAS
そのうち大抵の言語は経験なくてもリファレンス片手に使えるようになるから好きなもん使え
798: (ワッチョイ f397-zkh5) 2018/03/24(土)18:12 ID:0qB0BmlJ0(2/2) AAS
C++だって元々はAT&T製なんだが
799: (ブーイモ MM26-Dh3i) 2018/03/24(土)18:20 ID:LkK69e8iM(1/3) AAS
javaも神託に従わないと訴えられるという…
800: (ワッチョイ a39f-aRf7) 2018/03/24(土)18:50 ID:eFb1d56B0(7/7) AAS
>>796
なら素直にC#やっとけ。
その後に必要ならC++で何も問題ない。

C#は商業的につまずいたのでJavaほどの知名度はないが、
言語自体はJavaよりは断然いい。(後発だから当然だが)
801
(1): (スププ Sdba-kSjP) 2018/03/24(土)19:07 ID:weQnYJFBd(1) AAS
ねーねー。
STL作った人は、共産主義国で食中毒にあって、ベッドの上で朦朧とした頭で閃いたって話だった気がしたけど、どっかにその話のソースある?
ググっても見つからないよー
802: (ワッチョイ 9a34-jZqL) 2018/03/24(土)19:12 ID:UtKAK1R90(2/2) AAS
神託は絶望の淵やタヒぬ直前に見えたりするもんやで
1-
あと 200 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.452s*