トップページ⇒tech
1002コメント293KB

C++相談室 part126 [無断転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2016/08/13(土) 11:24:45.65ID:NPYsKJkE
次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512

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

前スレ
C++相談室 part125
http://echo.2ch.net/test/read.cgi/tech/1463761261/

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

■長いソースを貼るときはここへ。■
 http://codepad.org/
 http://ideone.com/

[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
0577デフォルトの名無しさん2016/09/08(木) 15:27:51.19ID:TmgW3MRN
>>576
脳内じゃない
ここは誰が何と言おうとおまえが間違っている

おまえそもそも事実を知らないんだろ
だから俺の言うことのどこがどう間違っているのか具体的な指摘ができない
もっとも知ってたら指摘するところがないはずなんだが
0578デフォルトの名無しさん2016/09/08(木) 16:46:16.67ID:vI60taJg
経験十年積めば大抵のことはできるし対応できるだろうが
経験二十年にはかなわないだろう
0579デフォルトの名無しさん2016/09/08(木) 16:59:40.04ID:rBeNUfmR
archiveから探してこいよ、認知症のジジイ
0580デフォルトの名無しさん2016/09/08(木) 17:00:00.79ID:y1qiR/+w
んなこたあない
0581デフォルトの名無しさん2016/09/08(木) 17:59:18.64ID:P8D+cYPH
>ここは誰が何と言おうとおまえが間違っている

真実を知っているのがこの世で自分だけだなんて
もう生きててつらいだろうな
0582デフォルトの名無しさん2016/09/08(木) 18:09:20.62ID:Ig68v84V
プログラムの経験年数なんて関係ない。
重要なのはどれだけトラブルの経験を積んだかだ。

女性経験が豊富なのと同じだ プw
0583デフォルトの名無しさん2016/09/08(木) 18:15:13.55ID:TmgW3MRN
>>581
逆だ
知らないのがおまえくらいなんだよ
当時を知っている人が身近にいたら聞いてみろ

>>582
童貞乙
0584デフォルトの名無しさん2016/09/08(木) 18:21:23.76ID:p2bVgJ9p
>>583
当時を知ってる人が身近にいたから聞いてみたけどそんなことはなかったってみんな言ってる。
つまり嘘つきはお前。はい論破。
0585デフォルトの名無しさん2016/09/08(木) 18:23:14.02ID:Ou19mRgF
何日も平日の昼間にくだらんいい争いしなきゃならないとか仕事かよ
0586デフォルトの名無しさん2016/09/08(木) 18:25:06.25ID:Ig68v84V
プログラミングを半年もやらなかったら、けっこうな部分を忘れる世界だし、
進化も激しい世界だから、経験を引き継いで発揮できるのはせいぜい五年くらいだろう。
0587デフォルトの名無しさん2016/09/08(木) 18:30:38.43ID:P8D+cYPH
年を取ると物忘れが激しくなる。
「誰が何と言おうと」と自覚しておきながら3時間後に
「知らないのがおまえくらい」と言い出しちゃうぐらい
だから>>584はもう責めないでw
0588デフォルトの名無しさん2016/09/08(木) 19:01:10.30ID:aq+STl42
相談室っていうか病室だな・・・
0589デフォルトの名無しさん2016/09/08(木) 19:09:24.56ID:69NbtRcU
大抵、経験20年とかになってくると老眼とかで大量の情報を高速に見るとかが出来なくなってそう
経験10年なのに目が悪くなってきて辛いです
0590デフォルトの名無しさん2016/09/08(木) 19:34:58.14ID:y1qiR/+w
void_tの話を聞くほうが建設的だ。
0591デフォルトの名無しさん2016/09/08(木) 19:40:42.54ID:ik/GfLoL
だからさ、型名に_t付けるなよ
システムハンガリアンかよ
0592デフォルトの名無しさん2016/09/08(木) 19:48:21.97ID:y1qiR/+w
>>591
using ***_t = ***::type;
ってパターンもダメ?
0593デフォルトの名無しさん2016/09/08(木) 19:56:47.42ID:ZGDN5kDf
>>577
もう楽になりなよ...
0594デフォルトの名無しさん2016/09/08(木) 20:17:46.69ID:rBeNUfmR
頑固になるのもアルツハイマーの症状の一つだね
0595デフォルトの名無しさん2016/09/08(木) 20:50:28.56ID:TmgW3MRN
>>593
は? 苦しい屁理屈でへとへとなのはおまえだろ
0596デフォルトの名無しさん2016/09/08(木) 20:58:33.03ID:p3dWf/BM
同じ穴のムジナが楽しく荒らしてるなぁ。
ただ一言いいたい。

カエレ!
0597デフォルトの名無しさん2016/09/08(木) 22:14:31.27ID:A7Pb5oFv
うそ
かえらないで
0598デフォルトの名無しさん2016/09/08(木) 22:36:18.32ID:siaRBrBq
苦しい屁理屈 ⇒ >>577
そりゃお前の脳内の事実なんて誰も指摘できんわな w
0599デフォルトの名無しさん2016/09/09(金) 00:55:13.72ID:6Bh01W2V
頑固になるとautoや{}の初期化や->の戻り値が許せなくなります
auto b = new auto(true);
char *p{};
auto main() -> int {}
0600デフォルトの名無しさん2016/09/09(金) 01:02:58.35ID:4oqKijqb
>auto main() -> int {}
頑固じゃないけどこれやる奴は何がしたいんだろう
0601デフォルトの名無しさん2016/09/09(金) 01:07:56.60ID:6Bh01W2V
これは頑固の良い例ですね
スタイルの統一とかそういうことを考えられず、変化を拒絶するようになります
0602デフォルトの名無しさん2016/09/09(金) 01:10:09.08ID:kBQSHV64
new auto();
なんて出来ないしな…
0603デフォルトの名無しさん2016/09/09(金) 01:18:20.19ID:kBQSHV64
>>601
じゃあ規格のexampleのスタイル統一から初めてくれよ。
何の意味があるのかしらんが、意味があるなら賛同者出てくるでしょ?
0604デフォルトの名無しさん2016/09/09(金) 01:21:30.28ID:Wiz5/g3s
new auto(10)みたいに推論できる場合ならちゃんとできるみたいだけど
https://ideone.com/zPeSla

ただauto main() -> int {}を書くやつは正直、俺知ってるんだぜ自慢したい厨房にしかみえない
タイプ数長くなってんじゃん、何のために導入された書き方か分かってんのかね
0605デフォルトの名無しさん2016/09/09(金) 01:23:35.62ID:6Bh01W2V
これも頑固の良い例ですね
「言語仕様に複数のスタイルが存在してもせめて自分のコード内は統一しよう」
みたいな考えを示唆しているのに、感情的になって関係無いことを言い出すのが特長です
0606デフォルトの名無しさん2016/09/09(金) 01:27:12.55ID:6Bh01W2V
auto main() ->int{}についてはハンをおしたように
「文字数が多い」と言い出すのも特長です
今まで同じレスを見たこともある人も多いのではないでしょうか
「スタイルの統一という観点からはあってもおかしくない」と説明されても
他人が使うことすら許せず否定に躍起になるのが特長です
0607デフォルトの名無しさん2016/09/09(金) 01:35:22.25ID:6Bh01W2V
もちろん新しい記法が良いことばかりではありません
auto b{true};は書けてもnew auto{true}は書けないなど一貫性に乏しい所も有ります
0608デフォルトの名無しさん2016/09/09(金) 01:36:37.09ID:Wiz5/g3s
別に他人がそう書くのを許せないわけじゃないよ
ただ俺はそう書くやつに対してはおかしなやつとかネガティブな印象を持つというだけ
今まで多くの同じようなレスがあったということは俺と同じ印象を持つ人が多いということだと思うよ
0609デフォルトの名無しさん2016/09/09(金) 01:40:41.63ID:kBQSHV64
>>605
言語仕様に複数のスタイルとかいう話ではなく規格のコード例ですらそんな書き方必要でなければしてねえよという話
どっちが頑固なんだかね
0610デフォルトの名無しさん2016/09/09(金) 01:40:48.56ID:6Bh01W2V
これも頑固の良い例ですね
とに新しいスタイルを見ると相手を非難しないと気が済まないのが特長です
>>608のレスにも「おかしなやつ」という攻撃的な単語が見られますが、これも一例と捉えてよいでしょう
0611デフォルトの名無しさん2016/09/09(金) 01:41:50.71ID:uFCjw0pQ
autoつかわなくても書ける場所でこれ期バカしにauto使うヤツはバカなんだと思う
0612デフォルトの名無しさん2016/09/09(金) 01:44:15.73ID:uFCjw0pQ
あとで型名明記するとかなんの為にauto使っているのかバカなんだと思う
0613デフォルトの名無しさん2016/09/09(金) 01:52:18.15ID:6Bh01W2V
これも頑固の良い例ですね
型推論のautoとtraining-return-typeの先頭のautoは違うのですが
とにかく理解以前で拒絶してしまっているのが特長です

でも確かにauto f() -> auto {}みたいな書き方はかなり変人かも知れませんね
0614デフォルトの名無しさん2016/09/09(金) 01:53:27.43ID:4oqKijqb
結局auro main() -> int{}はお遊びなのか?
0615デフォルトの名無しさん2016/09/09(金) 02:00:06.38ID:uFCjw0pQ
>>613
本末転倒だってんだよバカ
0616デフォルトの名無しさん2016/09/09(金) 02:00:54.91ID:p4LGwUo/
ぶっちゃけID:6Bh01W2Vってまじであの書き方がスタイルの統一のという理由が第一で導入されたと思ってそうなんだけどそうでもない?
>>612の言わんとしてることが理解できてない気がする
0617デフォルトの名無しさん2016/09/09(金) 02:09:08.65ID:6Bh01W2V
そうですね
テンプレート関数の戻り値のために導入されたことは良いとして、
「>>612の言わんといていることはplaceholder typeとtrailing-return-typeの混同による不適切な見解ではないか」と述べているのに
「理解できていない気がする」とあやふやなのは不思議ですね

これらも頑固なことによる反射的な拒絶の一面なのかも知れません
0618デフォルトの名無しさん2016/09/09(金) 02:16:06.31ID:6Bh01W2V
また「導入の目的とは別にスタイルの統一の観点からはあっても良いのではないか」
という説明を受けても「目的が違う」と思考停止して否定ありきで考えてしまうのも特長です

本日は600から続く一連の自演レスでその片鱗が伺えたと思います
0619デフォルトの名無しさん2016/09/09(金) 07:33:30.80ID:H3RR5zb8
そもそもスタイルの統一にこだわる必然性はない。
タブとインデントの話と同じで混在したってかまわない。
0620デフォルトの名無しさん2016/09/09(金) 07:36:21.12ID:SVVRFbIW
タブとインデントを混同するやつは見つけ次第殺せ
0621デフォルトの名無しさん2016/09/09(金) 08:00:45.68ID:z8Otf9Pu
どうしてこんな釣り耐性よわいの。
A派とB派の対立じゃなくて
Bスタイルを否定すんな派とBスタイル否定派
は主観の押しつけあいで論破できるわけねーし。
0622デフォルトの名無しさん2016/09/09(金) 08:09:04.86ID:H3RR5zb8
>>620
そういうのってなんか自閉症ぎみなんじゃないの?
0623デフォルトの名無しさん2016/09/09(金) 08:35:47.51ID:G0RBn0pa
trailing-return-typeを、4文字以下では使わない
なんてやってると
int abs(int);
auto abs(float) -> float;
てな具合になるよなあ

ぎりぎりアウトな
char* begin(); を
auto begin() -> char*; にしながら、
俺なにやってんだろって気になることがある
0624デフォルトの名無しさん2016/09/09(金) 08:42:02.98ID:oGuibT0g
>>620
同意する
そういう奴はたいてい他でもいいかげんだからプログラマーには向いてないことを自覚してほしい
0625デフォルトの名無しさん2016/09/09(金) 08:55:13.21ID:H3RR5zb8
んなこたーない
0626デフォルトの名無しさん2016/09/09(金) 11:10:43.31ID:kBQSHV64
>>623
>trailing-return-typeを、4文字以下では使わない
なんで?
0627デフォルトの名無しさん2016/09/09(金) 11:25:30.49ID:G0RBn0pa
int abs(int); を
auto abs(int) -> int; にするメリットは?
autまでタイプした時点でやんなってくるぜ俺は
auto exit(int) -> void; とかナメとんかくらって気ぃしね?
0628デフォルトの名無しさん2016/09/09(金) 11:50:52.32ID:xpG9Ka1d
スタイルの統一という意味では、新しいC++では
普通の関数とメンバ関数を
obj.func();
func(obj);
のどちらのスタイルでも相互に呼び出せるようにするかもしれない
って話だけど・・・
メタプログラミングの観点から見ればどちらの表記でも呼び出せたほうが
便利なのは火を見るよりも明らかだが

それはそうとして
スタイルを統一したいって言ってる頑固な約一名は
これも統一するつもり?
つまり普通の関数やメンバ関数の呼び出しを全部
obj.func(); もしくは func(obj); に統一するつもりなのかって話
で、世の中には引数を取らない関数、例えばabort()などもあるし
fgetsみたいにFILE構造体が引数の最後に来るような変態関数もあるので
統一するならCスタイルの func(obj); になると思うわけだけど
そうすると、全部 method(obj) の形式で書くつもりか?
この書き方だとエディタの補完が効かないので激しく作業効率が悪いわけだが
0629デフォルトの名無しさん2016/09/09(金) 11:50:58.44ID:CsE6YZtW
>>627
メリットはないだろうね
0630デフォルトの名無しさん2016/09/09(金) 11:52:48.11ID:kBQSHV64
>>627
4文字って何って話だよ
0631デフォルトの名無しさん2016/09/09(金) 11:57:16.30ID:CsE6YZtW
スタイルの統一ってメタプロのためでしょ?
普通に書く場合はどっちだっていいし、見た目の統一なんてさらに気にするポイントじゃないし。
0632デフォルトの名無しさん2016/09/09(金) 12:01:21.07ID:xpG9Ka1d
というかそもそも、
統一しなくてもよいように、そのために
どちらの表記でもよいようになっている
もしくはそうする予定なのに
統一する意味あんの?
0633デフォルトの名無しさん2016/09/09(金) 12:08:44.98ID:G0RBn0pa
>>629
autoが4文字だろ?
これより長いstd::basic_string<char,std::char_traits<char>,std::allocator<char>>とかなら
autoにすると短くすっきりするが、
4文字より短い例えばintをautoにしてもそういう効果がないばかりか
厳密には1文字損してるだろって話だよ
0634デフォルトの名無しさん2016/09/09(金) 12:09:29.33ID:G0RBn0pa
アンカー間違えた
s/>>629/>>630/gっと
0635デフォルトの名無しさん2016/09/09(金) 12:12:46.72ID:kBQSHV64
>>633
float f();
を
auto f() ->float;
って書いたら一文字損してるって思うの?
どういう計算???
0636デフォルトの名無しさん2016/09/09(金) 12:21:26.23ID:G0RBn0pa
>>635
逆だよ
それは1文字得してる
0637デフォルトの名無しさん2016/09/09(金) 12:26:40.05ID:kBQSHV64
何言ってるのかわかんねー
文字の数を数えれないのかな…
0638デフォルトの名無しさん2016/09/09(金) 12:27:41.92ID:G0RBn0pa
std::basic_string<char,std::char_traits<char>,std::allocator<char>>とかなら
autoにすると短くすっきりする
↑
これの意味わかる?
0639デフォルトの名無しさん2016/09/09(金) 12:36:32.00ID:kBQSHV64
>>638
戻り値の型がそれだったとして
trailing-return-typeを使うと文字数は6文字(autoと ->)増える事に変わりないだろ?何言ってるんだ?
0640デフォルトの名無しさん2016/09/09(金) 12:40:28.34ID:G0RBn0pa
>>639
まさかと思ったが、やはりそういうことか
よし、おまえはtrailing-return-typeを使うな

これにて一件落着
0641デフォルトの名無しさん2016/09/09(金) 12:49:10.42ID:tc9dXmwp
引数に依存しないならどっちだって同じさ。
->以下を省略するのは別な話
0642デフォルトの名無しさん2016/09/09(金) 12:51:16.50ID:4oqKijqb
聞きたいんだけど引数無しのコンストラクタが無いクラスってあり?
絶対にコンストラクタで引数を入れないといけない
0643デフォルトの名無しさん2016/09/09(金) 12:51:31.27ID:CB2F3RXF
autoが本当に役に立つのはこういうケースだな

http://okns.webcrow.jp/text/CPP0xFAQ.html.ja#auto

変数の型が template 引数に強く依存している場合は、auto なしにコードを書くのは本当に難しくなるだろう。 例えば:


template<class T, class U> void multiply(const vector<T>& vt, const vector<U>& vu)
{
// ...
auto tmp = vt[i]*vu[i];
// ...
}
tmp の型は T と U の乗算結果になるが、それが正確に何型であるか人間の読み手が見出すのは難しい。 しかし、もちろんコンパイラは、自身が扱っている適切な
T と U が何型であるかを知っている。
0644デフォルトの名無しさん2016/09/09(金) 12:52:12.20ID:CB2F3RXF
ageたスマン
0645デフォルトの名無しさん2016/09/09(金) 13:05:31.22ID:kBQSHV64
>>643
autoではなくautoキーワードを使った機能の一つであるtrailing-return-typeの話してたんだけど

お前の例を借りるなら
template<class T, class U> auto multiply(const vector<T>& vt, const vector<U>& vu) ->decltype(vt*vu)
こんな感じで引数の名前を返り値の型の決定に使いたい時の為に導入された。あとはlambda
0646デフォルトの名無しさん2016/09/09(金) 13:23:41.38ID:EcclX7iE
>>642
「デフォルトコンストラクタが存在しないクラスを作ってもよいか?」
あるいは「クラスは必ずデフォルトコンストラクタを持つべきか?」
という質問かな。

外部から何かの値を指定しないと正常な状態にならないって対象なら
デフォルトコンストラクタなしの方が、間違った使い方をされなくて済む。
具体的には…今すぐ思いつくのは、
「ファイル名を指定、コンストラクタ中でファイルを開くクラス。
デストラクタでファイルを閉じる」とか(そもそも良い設計か分からんけど)。
この場合はデフォルトコンストラクタじゃ意味ないよね。
0647デフォルトの名無しさん2016/09/09(金) 13:28:11.41ID:kBQSHV64
>>642
普通にある。
例えばstd::lock_guard
0648デフォルトの名無しさん2016/09/09(金) 14:32:40.92ID:QrmkumON
>>642
あり?といういか引数無しがデフォルト
0649デフォルトの名無しさん2016/09/09(金) 14:54:03.88ID:aqM9pKJ0
>>648
コンストラクタで絶対に引数をとらなければならないクラス設計はありかなしかという話だろう。
0650デフォルトの名無しさん2016/09/09(金) 15:04:50.30ID:QrmkumON
>>649
あっそうかwちゃんと読んでなかった
ありかなしかで言えば「あり」としか言えない
0651デフォルトの名無しさん2016/09/09(金) 15:05:33.87ID:G0RBn0pa
ビルトインにだって初期値必須のものがあるくらいでねえ
そもそもなぜ初期値を指定するのかという目的論をすっ飛ばしたべき論に価値はあるのか
0652デフォルトの名無しさん2016/09/09(金) 16:15:29.42ID:iGJJBn3T
最近、生のconstructorは晒さずに、面倒でもfactoryかbuilder用意したほうが良い気がしてきた。
0653デフォルトの名無しさん2016/09/09(金) 18:00:44.85ID:6P7ccOtX
>>651
そんなのあったっけ?
0654デフォルトの名無しさん2016/09/09(金) 18:52:54.42ID:Sz+zzzeN
>>653
参照
0655デフォルトの名無しさん2016/09/09(金) 19:28:06.08ID:xbXKfh8v
複合型をビルトイン型と称すとは
頭の悪さに恐れ入る
0656デフォルトの名無しさん2016/09/09(金) 19:54:51.32ID:2SLUNITP
ビルトインをビルトイン型と見間違うとは
目の悪さに恐れ入る
0657デフォルトの名無しさん2016/09/09(金) 20:18:37.35ID:Sz+zzzeN
>>655
ビルトイン型って知らないけど Fundamental Types のことを言ってる?
0658デフォルトの名無しさん2016/09/09(金) 20:24:24.90ID:G0RBn0pa
N3797でbuilt-inを検索すると...
oeratorsが必ずついてくるな
そりゃ悪かった

class宣言せずに使える型、そう言いたかっただけだ
0659デフォルトの名無しさん2016/09/09(金) 21:49:08.07ID:Hwi6cA5k
const int i{100}; // 初期値必須
0660デフォルトの名無しさん2016/09/10(土) 13:58:51.44ID:qsgFq9Gu
関数の引数と戻り値はstd::stringとかではなくconst char*を使うべきというのを見つけたんだけど正しいのか?
0661デフォルトの名無しさん2016/09/10(土) 14:05:38.05ID:fEVz11Vc
C++で作られたdll(関数が色々定義されてるやつ)をC++の別プログラムAに読み込ませる
プログラムAに対してjavascriptで使用する関数を指定してってのをやりたいけどできるのかな

プログラムAはただjavascriptを指定するだけと結果出力
javascriptはどの関数をどんな引数で実行するかを指定する
スクリプトってのをよく理解してないからアドバイスほしい
0662デフォルトの名無しさん2016/09/10(土) 14:15:01.34ID:TwDosbdA
>>660
ソイツはバカ
0663デフォルトの名無しさん2016/09/10(土) 14:26:38.33ID:pUoIS14d
>>660
fstreamをstringに依存させないために
C++98ではopenの引数がconst char*だが
C++11ではstringを渡せるようになったので
fs.open((string(
0664デフォルトの名無しさん2016/09/10(土) 14:27:46.41ID:pUoIS14d
fs.open((string("filename") + ".ext").c_str(), ios_base::in)が
fs.open( string("filename") + ".ext , ios_base::in)で
済むようになり結構便利だね
stdの作者じゃない一般ユーザな俺らにとって、
std同士での相互依存は別に構わんのに無駄に不便だったのがC++98

独善的な「正しさ」を誰も喜ばない例だと思うぜ
0665デフォルトの名無しさん2016/09/10(土) 14:28:54.01ID:pUoIS14d
あ、引用符が閉じてない・・・ 許せ
0666デフォルトの名無しさん2016/09/10(土) 20:03:47.79ID:fxMjDbn4
右辺値参照が使えるようになったし、クラスオブジェクトをそのまま返してもオーバーヘッドにはならんでしょ
0667デフォルトの名無しさん2016/09/10(土) 20:40:19.15ID:LBKbagU5
typedef enum
{
kOne = 1,
kTwo,
kN
}e;

const int n[kN]={0,100,200};

template <int N> class A
{
public:
int a[N];
};

int main()
{
A<n[kOne]> a;
return 0;
}

こんな感じのやりたんだけどnが非constだって怒られる
なにか代案ありません?
0668デフォルトの名無しさん2016/09/10(土) 20:45:26.68ID:QhorBMPI
>>667
constexpr int n[kN]={0,100,200};
06696672016/09/10(土) 20:51:12.77ID:fvQgZoM4
うちのVS2010ちゃんがそんなもの知らないと言っております
0670デフォルトの名無しさん2016/09/10(土) 20:57:30.16ID:QhorBMPI
>>669
template<int N> struct constant { static const int value = N; };
template<int N> struct n;
template<> struct n<kOne> : constant<100> {};
template<> struct n<kTwo> : constant<200> {};

A<n<kOne>::value> a;
06716672016/09/10(土) 21:00:17.01ID:fvQgZoM4
>>670
よさそう
ありがとうございます
0672デフォルトの名無しさん2016/09/10(土) 23:13:18.30ID:LzJTocys
>>660
それはその言葉の真意を理解すれば正しくもあり正しくもなし
0673デフォルトの名無しさん2016/09/11(日) 00:28:13.04ID:bDOLl/8E
引数はともかく、戻り値を常にconst char*にするのはつらい
メンバ変数で持ってるものだったらconst char*で返せるけど
関数内でジェネレートした文字列だったらどうするんだ?
0674デフォルトの名無しさん2016/09/11(日) 00:32:24.15ID:bDOLl/8E
void func( char *output, int max_buffer )
↑こんなインターフェースもあり得るけど
呼び出すときに一体バッファサイズをどのぐらい用意すれば良いんだ?
という問題が出る
関数内でmallocして返す方法もあるけど
呼び出しもとで開放しなきゃならないから嫌だ
std::string使いましょうよ
0675デフォルトの名無しさん2016/09/11(日) 00:44:49.84ID:T7xxiiqM
うちの会社にいるレガシープログラマもクラスを引数にするのを嫌うな
0676デフォルトの名無しさん2016/09/11(日) 01:12:15.86ID:NvSd/4YA
税金泥棒は、RMPについて何も理解できていない
分からないくせに、ひたすらコピペを繰り返す
突っ込んだ話を始めると、チンプンカンプンで付いて来れなくなる
■ このスレッドは過去ログ倉庫に格納されています