C++相談室 part137

■ このスレッドは過去ログ倉庫に格納されています
2018/07/14(土) 17:53:02.14ID:FOAGvAbs
次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512

C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。

前スレ
C++相談室 part135
https://mevius.5ch.net/test/read.cgi/tech/1522495206/

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

■長いソースを貼るときはここへ。■
 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
2018/08/01(水) 02:12:56.94ID:VquDbSfz
>>451
ありがとうございます。
最初のも辞典的なものなんでしょうか。

複数冊持つならばテーマ毎が良いかなとも思いましたが、特定のテーマに集中したものだと翻訳されているものが少ないのかもしれませんね。
2つ目と3つ目が部分的に補完しあっていることを期待して、両者とも購入しようかと思います。
453デフォルトの名無しさん
垢版 |
2018/08/01(水) 02:19:31.07ID:Bdxs44t0
the art of computer programming
numerical recipes

コレしかないわ
2018/08/01(水) 02:25:19.38ID:oNWxQcbM
>>451
「C言語による最新アルゴリズム事典」はこないだ改定されて「C言語による標準アルゴリズム事典」という表題で売ってるぞ。
http://amzn.asia/cgZYRrQ
ロングセラーになりすぎたせいで「いつまで最新やねん」というのは常々言われづづけてたからなぁ。
2018/08/01(水) 02:49:17.77ID:GZaAdjmn
>>448-450
多分そいつは、Scott Meyers を知らないし、
ほとんどの言語に「Effective 何々」があることも知らないのだろうw

そいつに、Scott Meyers を知っていますかって聞けば?
プロで、江添亮とかScott Meyers を知らん奴は、いない
2018/08/01(水) 06:52:26.90ID:l9oYGZY2
会社に対してそいつ?
2018/08/01(水) 07:00:43.17ID:0Pfosj1X
stringやvectorはヒープなので、呼び出し回数の多い関数で毎回インスタンスを作る場合は処理時間に注意したいところ。
2018/08/01(水) 07:02:13.71ID:oNWxQcbM
まあ状況によるわなー。
後から伸長 (または縮小) が必要ないような固定長のデータを std::vector に入れるのは豪華すぎるので、
避けれるなら避けたいということは有りうる。

それでも今どきなら std::array を使って欲しいけど、
古いプログラムをツギハギしながら使ってるような場合にはなかなかそうもいかない事情があるのかもしれん。

単純には判断できないので、わかんないことはそれを書いてるやつに聞けとしか言いようがないんじゃない?
2018/08/01(水) 07:40:49.09ID:OccwPm6d
stl使うと同バージョンのライブラリを実行環境にインストールするという考慮も増える
2018/08/01(水) 07:53:02.77ID:hfBYO5dB
えっ?
何か勘違いしてないか?
461デフォルトの名無しさん
垢版 |
2018/08/01(水) 18:55:57.40ID:4hR5DucF
やっぱり通になると、明太子ひとつ、辛子抜きで・・・とか注文するんだろな。
2018/08/01(水) 19:05:43.34ID:6NCuGzpD
>>447
https://www.amazon.co.jp/dp/4774196908
今年になって改訂版が出たらしい、だれかレビュー頼みます
2018/08/01(水) 19:11:49.62ID:a1G0tkY3
>>462
第2刷買ったっけな。役に立ったと思う。
2018/08/01(水) 19:41:42.72ID:7TmTR3QV
>>462
板を荒らすのやめろよ
2018/08/01(水) 20:37:51.59ID:/iJJIMGp
ポインタの件ですが参考になりました。まぁこっちはほぼ初心者で相手はベテランの上司なので何も言えない聞けないってとこですね
stackoverflowとか読んで生ポインタあんま使うなスマポ使えオブジェクト使えるときは使えみたいなこと書いてあるの見るとこれでいいのかなって思いますねええ
2018/08/01(水) 23:13:55.56ID:oNWxQcbM
std::unique_ptr は実行時の速度ペナルティもほとんどないので、避ける理由はあんまりないよな。
例外がとんだ時のロールバックについても面倒なことを考えなくて良いし。
2018/08/01(水) 23:34:41.68ID:GZaAdjmn
たぶん、Scott Meyers とか「Effective 何々」とか、知らんのだろ

たぶん正常に動作する、過去の資産を持っていて、それをコピーして使う作り方なのかも

現場でよくあるのは、サンプル欲しいと言うと、過去のソースコードを持ってきて、
これは動くから、そのままコピーして使って下さいと言われる

新しい事をしようと思うと、環境構築やらで、動かない部分が出てくるので、非常に面倒

それに過去のソースコードは、あちこちで使われているから、バグが少ないという実績があるけど、
新しく作ったものは、バグ出しが大変。
安定するまで、かなりの期間が必要

よほどの理由がない限り、新しく作らない
2018/08/02(木) 03:53:49.14ID:iSPNCiYK
>>451
どれか一つで良くね
ほとんど被ってるっしょ
あえて選ぶならアルゴリズムクイックリファレンス

網羅性ってヤツを追及するなら、同じようなもんいくつも買うんじゃなくて自分で言ってるようにテーマに特化したものを買うしかない
名前忘れたけど文字列アルゴリズムのアレとか
2018/08/02(木) 06:10:43.23ID:ksgx4qMg
>>447
Knuth の 「The Art of Computer Programming」もその条件に当てはまると思う。
2018/08/02(木) 07:12:52.80ID:NSwKZwuS
圧縮アルゴリズムなんか、本で憶えたんじゃなく
FAXだとかモデムみたいな具体的なブツで憶えたな

その他のアルゴリズムも単行本より雑誌で
憶えたのが多いし
2018/08/02(木) 10:20:23.60ID:KhTk1OQU
そのあたりのアルゴリズムはCマガで覚えた
2018/08/02(木) 10:41:45.24ID:zFALVR92
>>468

これ?

高速文字列解析の世界――データ圧縮・全文検索・テキストマイニング (確率と情報の科学) | 岡野原 大輔 |本 | 通販 | Amazon
ttps://www.amazon.co.jp/dp/4000069748

「高速文字列解析の世界」サポートページ - daisuke.okanohara
ttps://sites.google.com/site/daisukeokanohara/iwanami_string_world
2018/08/02(木) 11:27:51.52ID:KhTk1OQU
そのジャンルは大体の場合は条件固定じゃないからツール類を使ったほうがいい
2018/08/02(木) 17:47:42.68ID:QC+SfWnq
>>447,451,468
蟻本の参考文献揃えるのがおすすめ
2018/08/02(木) 17:50:02.28ID:QC+SfWnq
って思って確認したらそんな良くなかったスマン
2018/08/02(木) 19:12:17.99ID:hFhSdR7O
>>470
文書圧縮について手元に置いていつも参照しているのは
https://www.amazon.co.jp/dp/478983672X/
今は、jpg の本が欲しいと思っていますが、なにかいいのはありますか?
2018/08/02(木) 19:38:11.37ID:nAUx6Lke
C++極めたいんだけど、どうすれば極められる?
仕事はJavaScriptが主です
今はアルゴリズムの本読んでるのですが、個人的にはC++ドラフトの間違いを指摘できるレベルになりたいです
2018/08/02(木) 19:48:55.00ID:1EegAYN5
そんな事を人に聞いてる様じゃ一生無理
2018/08/02(木) 19:57:10.95ID:Ro0F3mb9
>>477
oracle Solaris Studio の開発者になるとか
ホワイトスミスに弟子入りするとか
じゃね?
2018/08/02(木) 20:52:27.89ID:jf+aoeV/
>>478
いや実際C++使ってる職場少ないし、どうやってレベルを上げればいいのか分からん
オープンソースを読むくらいしか思いつかない
>>479
ジョークはいい
2018/08/02(木) 21:22:49.70ID:EkY0QbOC
コンパイラ読めないと話にならんのじゃないか?
2018/08/02(木) 21:53:24.64ID:0KRWeg2T
>>480
職場に何を頼るの?
2018/08/02(木) 22:18:49.50ID:NSwKZwuS
>>476
jpegが赤に弱いなんてのも
ギョーカイの人とのおつきあいで
ホーソレデ氏になった
2018/08/02(木) 22:24:42.73ID:Ar8oKNDv
>>480
読んでばかりじゃなくて自発的に自分で実際に書いてみないことには、いつまでたってもたいして身に付かないだろう。
極めたいなら、言語仕様の一つ一つを実際に使ってみて具体的に役立つケースや制限、制約、限界を体感して、メリットデメリットを洗い出すくらいのつもりで試してみたら?
2018/08/02(木) 23:26:26.75ID:jf+aoeV/
>>482
嫌‥
>>484の言うとおり実践的な立場かな
>>484
それはもちろん分かる
2018/08/03(金) 02:17:39.89ID:gpdbLiuq
>>485
まずは仕事で使う自作ツールをC++で書くとか
千里の道も一歩から
2018/08/03(金) 02:23:34.66ID:Ja3muTb1
自作ツールはまず、スクリプト言語でやってみて、速度面などで不満があった時だけC・C++に置き換えるのがいいと思うけどどうなの。
スクリプト言語とコンパイル言語の使い分けを覚える良い機会になる。
2018/08/03(金) 02:28:52.17ID:gpdbLiuq
>>487
目的が自作ツールを作ることならそれで間違ってないが
C++を極めることが目的みたいよ
2018/08/03(金) 07:41:26.05ID:jYMqs03L
極めると言うても、次の規格が出たらもう過去の知識だし、
いくら頑張っても到達できないゴールのような気がするなぁ。
規格を作る側に入り込めるなら話は違うかも知れんが。

C++は、自分より後ろにいる人をバカにするのが好きな人も多い感じだけど、
「そんな奴にはならん方がええ」
2018/08/03(金) 08:11:10.53ID:KKWcqInB
ある程度の言語機能しか使わない範囲でも使い物になるように C++ は設計されてる。
ある程度を学めばその範囲内でも実務に使える。
もちろん深い理解があればプログラムをよりよく構成できるので、
実務に使いながら平行して段階的に学ぶということが出来る。
このことは設計者が著した D&E に書かれてる基礎理念のひとつだ。

地に足の着いた、現実的なものとして設計されてるんだよ。
だから、言語としての C++ だけに偏って学ぶのはお勧めできない。
言語として不格好な部分も現実の中では相応の合理性があったりして、
それを学習するのに適しているのは現実のプログラミングだと思う。

ただ、余談だけど、段階的に学べるようにというのはスタート地点として C を想定しているように思う。
C が当然の基礎知識としてあった時代には
そこからシームレスに C++ を学んでいけるように設計するのは妥当な選択だったかもしれないが、
今の時代には C++ の中の C の部分は色々と足を引っ張ってもいるので
歴史が長いと泥臭い部分も積み重なっていくものだなぁと思いました。 (小並感)
2018/08/03(金) 10:14:53.94ID:lq/KEYA1
20年近く使ってるけど、ドラフトとか目にしても
「こんな機能来るんや!」ってwktkするだけだな
規格を知ってれば極めてる、みたいな風潮が最近あるけど間違いやで
言語はあくまで道具だから使ってなんぼ
2018/08/03(金) 10:29:03.00ID:cfhQf2V5
みんな深いレスありがとう
ただ自分はどうしても諦めきれないので、仕事以外の時間は、C++に関するサイトや書籍やコーディングに費やすことになると思う
Pythonは学ぼうとは思ってるけどね
2018/08/03(金) 10:49:41.39ID:TY6Sib0f
ttps://github.com/python/cpython/tree/master/Python

今ならpythonのソースコードもオマケで学べるよ
2018/08/03(金) 12:16:04.74ID:cfhQf2V5
>>493
ありがとう
こういうのはいいですね
2018/08/03(金) 15:41:42.81ID:Ja3muTb1
スクリプト言語には、ハッシュテーブルやディクショナリなどと呼ばれるキーと値の組を保存するコンテナ機能が存在する。
一般に高速とされるC++だが、実は、ハッシュテーブルだけはスクリプト言語の方がアクセス速度が速かった。
ただし、C++におけるstd::mapだけがハッシュテーブルに該当した頃の話。

今は、std::unordered_mapがあるのでスクリプト言語と同等以上の速度でハッシュテーブルにアクセス可能になっている。
2018/08/03(金) 18:32:37.47ID:j4paKoWq
mapはハッシュテーブルに該当しないだろ。
そういうときは辞書とかマップとか連想配列とかと呼ぶべきだ。
2018/08/03(金) 18:52:42.14ID:9KGEdKKU
mapは連想コンテナだが
2018/08/03(金) 19:03:27.95ID:j4paKoWq
ハッシュテーブルじゃない
2018/08/03(金) 23:13:28.65ID:B+FOIxCl
クラス設計で悩んでいるんだが、みんなの意見を聞きたい
やりたいのは、いわゆるデザインパターン template methodを使ったクラス設計

class Parent {
public:
void execute() {
method1();
method2();
method3();
}
private:
virtual void method1();
virtual void method2();
virtual void method3();
}

子クラスのChild1, Child2でmethod1(), method2(), method3()をそれぞれオーバーライドして処理を分けている
ここで、Child3を追加しようと思うんだけど、method1()の内容はChild2::method1()と全く同じになる
これをどう実装しようかいろいろ悩んだんだが、どれもピンとこない。
そもそも最初の設計がおかしーんじゃねーの?とかこうしたらよくない?とかここおかしくね?とか意見あったら頼む
一応以下は自分が考えていること

@Child2, Child3の親クラスを抽出して、そっちに共通処理として書く
→実装のために継承関係を作るのはあまりよくない気がする
A別クラス(Utilクラス?)を作ってそっちにまとめる
→メンバ変数とか使ってると少し面倒かな。本質的でない気もする。
BChild3::method1()->Child2::method1()とコンポジション的にする
せっかく横のつながりができないようにしてるのに、ここでできるのはよくない
C親クラスに共通メソッドを作って、Child2::method1()とChild3::method1()はそれを呼ぶ
→しっくりこないけど、妥協点かな・・・
DしゃーないChild2::method1()コピペで!
→これはまあ論外かな、時間が全くないときの最終手段
2018/08/03(金) 23:20:08.01ID:cWBuX5k9
Child3をChild2の子にすれば?
2018/08/03(金) 23:22:51.86ID:Ja3muTb1
共通処理を継承関係と無縁なtemplate関数にできないか検討してみては?
2018/08/03(金) 23:26:40.59ID:Xb0+UQnK
>>500
それは多分なんらか整列の問題でやりたくないんだと推測
俺なら4かな・・・
2018/08/03(金) 23:28:34.49ID:Xb0+UQnK
4の改良?として
実装ファイルの無名スコープにvoid method1(const Parent& p)かな
2018/08/03(金) 23:36:56.13ID:xr+Hum6X
派生させるんじゃなくてメソッドの処理を別クラスにして移譲させるんじゃないの?
2018/08/04(土) 00:12:06.53ID:AH7fLvgn
>>499
> 実装のために継承関係を作るのはあまりよくない気がする
と言いつつ
> 親クラスに共通メソッドを作って、Child2::method1()とChild3::method1()はそれを呼ぶ
とか意味わからん
全然関係ないのにたまたま一緒になったと言うなら
> しゃーないChild2::method1()コピペで!
しかないと思うが
2018/08/04(土) 00:38:11.84ID:hQAAmMi0
コーディング規約で、引数や戻り値に参照型は使うな。わかりにくくなるから。ポインタで渡してポインタで返せ
ってことになってるんですけどこれ一般的な考え方なんですかね。生ポインタ使いまくりの方がよっぽどわかりにくいと思うんですけど
507デフォルトの名無しさん
垢版 |
2018/08/04(土) 00:53:09.47ID:CpwGeL+S
そんなことよりメソッドでクラスのインスタンスが変更されない場合
そのメソッドにちゃんとconstつけろよ

引数でクラス使う場合も、そのクラスのインスタンスが変更されない場合
その引数にちゃんとconstつけろよ

わかった?
2018/08/04(土) 00:58:03.49ID:0clFfLhT
>>506
言ってることがわからなくはないが一般的ではないと思う
むしろ参照のほうが一般的な気がするな
2018/08/04(土) 01:05:30.18ID:Xh+3QD0k
引数については、読み書きする引数は注意をひくためにポインタ渡しにして、読み取りだけの引数は参照渡しにするといいのでは。
戻り値については、失敗したことを意味するNULLを使えるのでポインタのほうがうれしいかも。
2018/08/04(土) 01:06:58.94ID:QByQ49xB
>>499
execute が virtual でないってことは
Parentを基底にしてコレクションしなくてもいいってことでOK?

>>501 の言うように template で mixin 的に書いたら こんな感じになったー
https://ideone.com/CcRHnO
ChildがKlassになって兄弟関係がなくなってる
511デフォルトの名無しさん
垢版 |
2018/08/04(土) 01:12:24.24ID:CpwGeL+S
戻り値なんか全部intでいい
0未満ならすべて一貫してすべてエラー
失敗がありえないブーリアンだけはかろうじてあり

引数をポインタで渡せないとNULLを渡して処理したい場合の処理ができない
そういうとき困るから全部ポインタで
2018/08/04(土) 05:12:55.60ID:iUNKVgUH
素人ばっかりかw
「More Effective C++」の項目1 だろ

Effectiveも読んでいない奴が、プログラミングやってるのが不思議。
どの言語でも、Effectiveは、入門書の次に読む本やぞ

参照は、確実にNULL じゃない場合。
また、参照に再代入はしない事
2018/08/04(土) 05:25:27.41ID:YA1hWK5Y
HRESULTも知らないヒヨッ子がいきってるな
2018/08/04(土) 06:40:25.30ID:O/qEXyQX
参照に再代入ってどうやんの
2018/08/04(土) 07:29:12.24ID:o+LfwS0J
cからのコードが多い場合は統一のために参照渡しにしないってのはあるかな。
2018/08/04(土) 07:33:54.06ID:YA1hWK5Y
extern "C"に参照渡しなんかするかよ
2018/08/04(土) 07:42:44.96ID:Xh+3QD0k
たかが参照にストレスを感じるようになったら、C/C++プログラマをやめた方がいい。引退時。
2018/08/04(土) 08:00:44.90ID:mQQzn2Q+
>>506
C++を知らない老害が自分の為に決めた規約
積極的に逆らおう
519デフォルトの名無しさん
垢版 |
2018/08/04(土) 08:29:49.29ID:Xh+3QD0k
私見を言わせてもらうと、多様性を受け入れ状況に合わせて柔軟に合わせていくのもプログラマあるいは技術者の重要なスキルなので、
一神教的な偏狭な人は若年性認知症とまで言ってのける気はないがかなり情報処理能力が低くなっているはずなので、プログラミングをやめた方がいい。
520デフォルトの名無しさん
垢版 |
2018/08/04(土) 09:34:28.56ID:0uMuTyGR
プログラミングがどうこういうより国語を勉強しろ。
2018/08/04(土) 09:35:16.17ID:o+LfwS0J
柔軟なのと規約を決めないのはまた別だけどね。
多様性といって新しい言語使って同じ過ちを繰り返している人を何人も見てると
色々バカバカしくなるってところはある。
老害と同じくらい歴史を見ない若造も有害という現実を見るのも良い。
2018/08/04(土) 09:50:53.54ID:2dadGiC9
まあ少なくとも>>506が老害であるのは確か
実務経験が少ない若者が多いのも当たり前
2018/08/04(土) 09:53:11.49ID:F7vd0ILk
老害なんて言っている奴、10年後に自分がそう呼ばれるって事気がついてないのかな・・・
2018/08/04(土) 09:55:58.68ID:2dadGiC9
老人全てが老害になるわけではない
害があるから老害と呼ばれる
2018/08/04(土) 09:59:13.29ID:2dadGiC9
>>521
歴史?

過去発生した問題点や注意点を伝えるのは上司や先輩の役目

言語自体の歴史、CPU自体の歴史なんか
興味があるヤツだけ勉強すれば良い
2018/08/04(土) 10:02:32.30ID:F7vd0ILk
数人のグループで開発しているなら、あえてコーディング規約を設けずしても出来るだろうが
100人、1000人規模で開発しているなら、工業製品としての品質管理として必要になるでしょう
2018/08/04(土) 10:03:35.96ID:pDxZw3/e
>>525
ぼくがしらないのはまわりがおしえないから
さすがゆとり
2018/08/04(土) 10:08:29.90ID:2dadGiC9
ん?
おれは伝える側の人間だが
2018/08/04(土) 10:11:50.81ID:2dadGiC9
100人規模1000人規模のソフト開発で
若者に言語の決定権があるってのは
すごい会社だね
2018/08/04(土) 10:20:39.15ID:+vznLLf6
おかしくはない

好きにやれ動くブツだけもってこい
2018/08/04(土) 10:27:14.97ID:UzBGgsy3
いや別に好きにすればいいとは思うのだが
勝手に自分で選んだ言語固有の問題にぶち当たって
人に泣きつくなっつー馬鹿みたいな話があまりに多いんで。
>>525
まともに聞いてくれれば問題ない。
2018/08/04(土) 10:54:42.16ID:VXqPvtUW
出来たばかりの最新規格の機能ならともかく
C++98以前からずーっとある言語の基本機能を大した理由もなく縛ってるのは阿呆でしょ
(「大した理由」があるなら縛ってもいいのよ、本当に大した理由ならな)
2018/08/04(土) 11:09:59.74ID:9+U//wQd
>>460
横だがDLLにstd::stringとかSTLのオブジェクトを渡したり返したりする設計ェ、、、
std::string程度なら現実には動くが、STLの内部動作のバージョン間の整合を誰も保証してくれない以上、
そういう設計をされるともはや誰も動作を保証できなくなる

STLに限らずOpenCVやCRT絡みのオブジェクトでもそう、
というわけでこういうライブラリのバージョンの統一を担保できない状況ではchar[]の登場と相成りぬ、
2018/08/04(土) 11:20:42.46ID:Xh+3QD0k
char[]を使う関数をDLLにして、その関数をstd::string版関数オーバーロード的なラッパーをヘッダーに記述するでしょ、普通。
というか、std::string専用である必要はなく、template関数にしとけばSTLportだろうかstdだろうかEASTLだろうが対応可能になる。
2018/08/04(土) 11:23:58.97ID:SzDDeCK/
バイナリでの保証を考えると STL を使いにくいってのは確かにあるよな。
COM のような形式を使えばオブジェクト指向をバイナリレベルで管理することも出来るが、
それはそれで別の規約に縛られてしまうわけで。

どんな規約にするにせよ不満は有るよ。
一貫した規約が無い不満よりは規約に不満を持つ方がマシな世界になりがちなのが現実。
536デフォルトの名無しさん
垢版 |
2018/08/04(土) 11:33:14.55ID:CpwGeL+S
そんなもん文字列のポインタ渡せばしまい
頭悪いのって悩む必要がないどーでもいい事で悩むからな

それぞれの完結したモジュールでどのバージョンのSTL使おうが関係ないからな

string ahoをaho.c_str()で渡すだけ
2018/08/04(土) 11:50:08.73ID:9+U//wQd
>>534
ワカル
それは全く普通の設計でおすなあ、
538デフォルトの名無しさん
垢版 |
2018/08/04(土) 11:54:01.62ID:CpwGeL+S
頭悪いシロウトほど可変長の文字列クラスをいちいち使いたがるからな
539デフォルトの名無しさん
垢版 |
2018/08/04(土) 11:57:27.88ID:CpwGeL+S
もしかしてvectorとかもいちいち自分で全部ラップしってんの
とにかく頭が悪すぎるわ
2018/08/04(土) 11:59:57.25ID:9+U//wQd
ここで問題なのは可変長の文字列クラスを使いたがる類の素人なのではなくて、
DLLのcallerとcalleeでSTLやCRTのバージョン相違しているケースを想像できない類の素人なのでは…
541デフォルトの名無しさん
垢版 |
2018/08/04(土) 12:07:08.58ID:CpwGeL+S
このスレにいるような知恵遅れがどんな作り方しても
ぜんぜん問題にならない

STL ver baka
void bakabaka(char const* aho_) {
 std::string baka("shine");
 ahoaho1(baka.cstr());
}

STL ver aho つかったdll
void ahoaho1(char const* aho_) {
}

なにが問題になるわけ?
もうね知恵遅れのいうことは意味が分からないわけ
2018/08/04(土) 12:08:24.92ID:73YctOjT
>>484
極めて同意
仕事だと、過去のしがらみや、コーディングルール等に縛られて、思い通りにできない。
自分で地道に実験してゆくしかない
2018/08/04(土) 12:16:41.91ID:9+U//wQd
いやほんと
呼び出し元と同じ完結したモジュール内で定義された関数にはconst std::string& ahoやconst std::vector &vecで渡し、
DLLで定義された関数にはaho.c_str()や&(vec[0])で渡す、と区別すればwrapperは要りませんなあ、
いやはや>>541は便利なやり方をいろいろご存知ですなあ、、
2018/08/04(土) 12:54:24.58ID:Rdsot1y5
>>519
「〜なので、〜なので、○○だ」
読んでとまどいを覚える日本語文ですね
2018/08/04(土) 12:56:26.35ID:Rdsot1y5
>>532
K&R2 の世界の人にとっては、十分に未知な領域なのでしょう…
私は K&R2 自体がすでに「堕落したもの」と考えております
2018/08/04(土) 13:59:14.93ID:f+sj1d72
>>506
某エディタにこの宗教にご執心の開発者がいるな
547デフォルトの名無しさん
垢版 |
2018/08/04(土) 18:05:43.06ID:Xh+3QD0k
ポリモーフィズム(多態性)を可読性を下げる欠点ではなく、可読性を上げる長所と考えるのがC++プログラマとしての信仰の基本なので、
様々な記述方法を許す多態性を嫌うのなら、C++を棄教せねばならないでしょう。
演算子オーバーロードを耐えられる情報処理能力があるなら、参照渡しにも耐えられるはずで、参照渡しだけ目の敵にするのはただの原理主義ですね。
2018/08/04(土) 18:58:53.47ID:YA1hWK5Y
原理主義なんて高尚なもんじゃなくただのバカ
2018/08/04(土) 20:01:37.83ID:5qDWXahz
>>547
なのでなのでは?
2018/08/05(日) 00:20:51.12ID:Sl8YWqHi
>>547
言葉のニュアンス的には原理主義というより教条主義と言った方がこの場合は近いかも
2018/08/05(日) 05:07:56.69ID:xG+zmDln
だれかたすけてください。
https://dotup.org/uploda/dotup.org1602882.zip
こういうプロジェクトを作ったんですよ。
一応、ゲームっぽいものですが本質はそこじゃなくて。
えーっと、前方参照の解決がよくわからないので直し方教えてください。
普段小さなコードしか扱ってないのでソース分割あまりしないのでわけがわかりません。
コンパイルが通るにはどうしたらよいでしょうか。

お願いします。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況