エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。
【アップローダー】(質問が長い時はココ使うと便利)
http://codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック)
http://ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用)
前スレ
【初心者歓迎】C/C++室 Ver.99【環境依存OK】
http://echo.2ch.net/test/read.cgi/tech/1469177649/
【初心者歓迎】C/C++室 Ver.100【環境依存OK】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/11/06(日) 22:58:02.60ID:dU5z27As
489デフォルトの名無しさん
2017/02/24(金) 10:43:32.63ID:See/JzpM >>488
Linuxじゃ失敗しないよ
Linuxじゃ失敗しないよ
490デフォルトの名無しさん
2017/02/24(金) 10:53:37.11ID:See/JzpM もたろん割り当てるアドレス空間自体が足りなくなったとか、予め上限を設定しておいたとかいうケースは覗いてな
491デフォルトの名無しさん
2017/02/24(金) 11:09:14.16ID:9xRtAprE 16byteのメモリを積んだコンピュータで32byteのメモリ確保したら失敗するよね。
それはわかる。
逆に16byteのメモリを積んだコンピュータで7byteのメモリを二回確保して最初の7byteを開放した後に8byteのメモリを確保したら失敗するの?
それはわかる。
逆に16byteのメモリを積んだコンピュータで7byteのメモリを二回確保して最初の7byteを開放した後に8byteのメモリを確保したら失敗するの?
492デフォルトの名無しさん
2017/02/24(金) 11:41:21.86ID:KhjrQy0g 基本的にでっかくメモリ確保というプログラムは作った事がないな。
今はSTLでほげほげ追加してくイメージ。
今はSTLでほげほげ追加してくイメージ。
493デフォルトの名無しさん
2017/02/24(金) 11:47:17.85ID:See/JzpM >>491
>16byteのメモリを積んだコンピュータで32byteのメモリ確保したら失敗するよね。
そうとは限らない。一般的なLnuxの環境依存ではmallocを搭載メモリ以上行っても失敗しない
swap含めて1GBしか積んでいない環境で2GB分malloc可能。確保した領域に書き込んだタイミングで記憶する領域が足りなくなったら色々なプロセスが殺される。oom killerと言われてるもの。
>
逆に16byteのメモリを積んだコンピュータで7byteのメモリを二回確保して最初の7byteを開放した後に8byteのメモリを確保したら失敗するの?
実装による。現代的なコンピューターではページ単位(4KB)とかでカーネルからプロセスへすきなアドレスへメモリを割り当てられるから物理的なアドレスが連続している必要はない。
プロセス内に連続したアドレス空間が残っていない場合は失敗する
>16byteのメモリを積んだコンピュータで32byteのメモリ確保したら失敗するよね。
そうとは限らない。一般的なLnuxの環境依存ではmallocを搭載メモリ以上行っても失敗しない
swap含めて1GBしか積んでいない環境で2GB分malloc可能。確保した領域に書き込んだタイミングで記憶する領域が足りなくなったら色々なプロセスが殺される。oom killerと言われてるもの。
>
逆に16byteのメモリを積んだコンピュータで7byteのメモリを二回確保して最初の7byteを開放した後に8byteのメモリを確保したら失敗するの?
実装による。現代的なコンピューターではページ単位(4KB)とかでカーネルからプロセスへすきなアドレスへメモリを割り当てられるから物理的なアドレスが連続している必要はない。
プロセス内に連続したアドレス空間が残っていない場合は失敗する
494デフォルトの名無しさん
2017/02/24(金) 11:52:16.13ID:NAh96dM2 仮想メモリというしくみで色々やってくれるようになって
キャパの限界付近ではややこしくなった印象
キャパの限界付近ではややこしくなった印象
495デフォルトの名無しさん
2017/02/24(金) 12:48:55.46ID:KhjrQy0g 家鯖は6G積んでるけどそれぐらいは行けるね。
てかkvmやってると、9Gコミットされてるもん。
てかkvmやってると、9Gコミットされてるもん。
496デフォルトの名無しさん
2017/02/24(金) 15:10:06.50ID:CcmE3pWB >>488
それスワップエリアのサイズ計ってるだけ
それスワップエリアのサイズ計ってるだけ
497デフォルトの名無しさん
2017/02/24(金) 15:25:25.94ID:nwaeFCKh winならGetProcessMemoryInfoなど
498デフォルトの名無しさん
2017/02/24(金) 17:26:32.84ID:9xRtAprE499デフォルトの名無しさん
2017/02/24(金) 18:02:34.91ID:See/JzpM >>498
望む答えだったみたいで良かったわ
熱があって若干朦朧とした頭で読み返さずに書き込んだから今読み返すと誤字とか予測変換で要らない単語入ってたり(一般的なLinux環境)とか、カッコの位置が違う(4KBとかの部分)とかあったけど。
望む答えだったみたいで良かったわ
熱があって若干朦朧とした頭で読み返さずに書き込んだから今読み返すと誤字とか予測変換で要らない単語入ってたり(一般的なLinux環境)とか、カッコの位置が違う(4KBとかの部分)とかあったけど。
500デフォルトの名無しさん
2017/02/24(金) 18:52:48.08ID:dfRROZm/ 環境依存ならPostMessageのエラーコードかな
俺はあんま理解してないけど
俺はあんま理解してないけど
501デフォルトの名無しさん
2017/02/24(金) 19:06:57.61ID:+aOqx8nq Win32なら信頼のPostMessageだな
503デフォルトの名無しさん
2017/02/24(金) 23:03:49.77ID:TLhS+9k8 はよ10年前のソース出せよ
504デフォルトの名無しさん
2017/02/24(金) 23:06:00.45ID:nwaeFCKh505デフォルトの名無しさん
2017/02/25(土) 07:21:27.70ID:98TUEskp なんで2分ちょいで出てくるかね。
506デフォルトの名無しさん
2017/02/25(土) 08:14:13.74ID:QoR/O5Qa 自演
508デフォルトの名無しさん
2017/02/26(日) 18:42:59.30ID:stmjd5mD 味噌県のクセにコーミソース以外のソースを使う非国民は去れ
509デフォルトの名無しさん
2017/03/06(月) 07:57:48.79ID:NqblWJNK510デフォルトの名無しさん
2017/03/06(月) 08:21:33.22ID:1XvIZqGa 最初の人がコピペで作ったんでしょ。+128に定義し直してるのもあるよ
511デフォルトの名無しさん
2017/03/06(月) 08:30:32.82ID:cJfBjMIV Aが奇数のときの動作が違うね
512デフォルトの名無しさん
2017/03/06(月) 10:33:08.69ID:NqblWJNK A、Bにはuint8を想定してますから、一瞬オーバーフローの関係かなとも思いましたが
そんなことはなく、特に深い意味はなさそうですね
ありがとうございます
そんなことはなく、特に深い意味はなさそうですね
ありがとうございます
513デフォルトの名無しさん
2017/03/13(月) 00:19:03.26ID:ZWBqluXH 仮想関数をオーバーライドするときはどう書くのがいい作法?
void vf()
virtual void vf()
virtual void vf() override
void vf() override
void vf()
virtual void vf()
virtual void vf() override
void vf() override
514デフォルトの名無しさん
2017/03/13(月) 06:06:33.92ID:IkDDkkqX ハゲ先生によると最後の void vf() override が良いみたい。
『プログラミング言語C++ 第4版』p.592
加えてoverride指定の不整合をチェックするコンパイラオプションだね。
GCCのVersion 5から使える -Wsuggest-override とか。
他のコンパイラについては知らん。
『プログラミング言語C++ 第4版』p.592
加えてoverride指定の不整合をチェックするコンパイラオプションだね。
GCCのVersion 5から使える -Wsuggest-override とか。
他のコンパイラについては知らん。
515デフォルトの名無しさん
2017/03/13(月) 10:43:38.74ID:Kr7xjXLG デストラクターに付けてる人はあんま見たこと無いな
class Derived : Base {
public:
~Derived() override {}
};
class Derived : Base {
public:
~Derived() override {}
};
516片山博文MZ ◆T6xkBnTXz7B0
2017/03/13(月) 20:30:08.38ID:VNPYsRzK Bcc55でtypeofを実現するのは不可能なのかな?
517片山博文MZ ◆T6xkBnTXz7B0
2017/03/13(月) 20:57:04.03ID:VNPYsRzK 古いコンパイラを使ってる人居る?
コンパイラの名前教えて下さい。
コンパイラの名前教えて下さい。
518デフォルトの名無しさん
2017/03/14(火) 23:30:09.48ID:wzywZVIy 老人がカセットテープデッキ求めたり
熟女モノのエロ本()を求めるような感じ?
熟女モノのエロ本()を求めるような感じ?
519デフォルトの名無しさん
2017/03/15(水) 01:04:07.22ID:R2Ueow1p 古いコンパイラと自覚しつつも使ってるような人はこのスレには来ないだろ
時代遅れの遺物の話じゃ通じないし
時代遅れの遺物の話じゃ通じないし
520デフォルトの名無しさん
2017/03/17(金) 11:46:00.03ID:pwo5j4El 何でA、Bを()しないんだ?
521デフォルトの名無しさん
2017/03/25(土) 21:37:15.77ID:IRaGixDk いまだに関数マクロ使ってるようでは
()したところで五十歩百歩
()したところで五十歩百歩
522デフォルトの名無しさん
2017/03/25(土) 22:37:56.47ID:9zWIhzFx523デフォルトの名無しさん
2017/03/26(日) 08:58:38.45ID:4rESVRzB ここはお前の日記を垂れる場所じゃない
「サポートによるとコンパイラのバグだった」で済むのに
アレやってコレやってを書くな低能
「サポートによるとコンパイラのバグだった」で済むのに
アレやってコレやってを書くな低能
524デフォルトの名無しさん
2017/03/27(月) 10:03:34.57ID:wSWIgauQ 事後報告あると参考になっていいんだけどな
今回は本人以外に状況がわからないから事後報告されてもw
今回は本人以外に状況がわからないから事後報告されてもw
525デフォルトの名無しさん
2017/03/30(木) 03:06:01.35ID:6sTQLdA2 http://codepad.org/KMQH3TsZ
ポインタをメンバに持たせた場合のget/setの書き方が分かりません
getの方は、ポインタを返すときに返した先で値を変えられないようにconstを付けたのですが、
sizePlus10のような関数を呼びたい場合に、const_castを付けて呼ぶことになってしまいました
値の変更をするのでsetを通してやるのが良いと思うのですが、何か良い書き方ありますか?
また、setの方は、一括で設定させることはできるのですが、
data->id、data->sizeの値を個別に設定したい場合、何か良い書き方はありますか?
コメントの部分のようにsetメンバ関数を何個も書く方法しか思いつきません
ポインタをメンバに持たせた場合のget/setの書き方が分かりません
getの方は、ポインタを返すときに返した先で値を変えられないようにconstを付けたのですが、
sizePlus10のような関数を呼びたい場合に、const_castを付けて呼ぶことになってしまいました
値の変更をするのでsetを通してやるのが良いと思うのですが、何か良い書き方ありますか?
また、setの方は、一括で設定させることはできるのですが、
data->id、data->sizeの値を個別に設定したい場合、何か良い書き方はありますか?
コメントの部分のようにsetメンバ関数を何個も書く方法しか思いつきません
526デフォルトの名無しさん
2017/03/30(木) 07:50:43.79ID:GtG5BmiK getDataの結果を修正したいのだから
杓子定規にgetDataの戻りにconst付けるのを止めればいいのではないか
そう言えばC++17(ドラフト)もstring::dataの戻りが非constに修正されたような
杓子定規にgetDataの戻りにconst付けるのを止めればいいのではないか
そう言えばC++17(ドラフト)もstring::dataの戻りが非constに修正されたような
527デフォルトの名無しさん
2017/03/30(木) 08:08:59.00ID:KJlpKUaR memcpy w
528デフォルトの名無しさん
2017/03/30(木) 10:48:22.67ID:JHpE2Dpf >>525
一般論として形でただ覚えるのではなくて意味を理解しよう
理解があやしいから設計の一貫性がなく混乱してるようにみえる
・Dataをポインタで所有するのはなぜ
・ゲッター/セッターを使ってアクセスするのはなぜ
・ゲッターで返す値にconstをつけるのはなぜ
・sizePlus10がData*を受けとるのはなぜ
MyClassの設計方針にあわせるならsizePlus10をDataではなくMyClassを受けとるようにして
void sizePlus10(MyClass & mc)
{
Data newdata = { mc.getData()->id, mc.getData()->size + 10 };
mc.setData(newdata);
}
あるいは別の関数を作って
void MyClassSizePlus10(MyClass & mc)
{
Data newdata = *mc.getData();
sizePLus10(&newdata);
mc.setData(newdata);
}
これが変だとか非効率だとか思うなら
MyClassの設計が要求にあってないのでそっちを変更する
一般論として形でただ覚えるのではなくて意味を理解しよう
理解があやしいから設計の一貫性がなく混乱してるようにみえる
・Dataをポインタで所有するのはなぜ
・ゲッター/セッターを使ってアクセスするのはなぜ
・ゲッターで返す値にconstをつけるのはなぜ
・sizePlus10がData*を受けとるのはなぜ
MyClassの設計方針にあわせるならsizePlus10をDataではなくMyClassを受けとるようにして
void sizePlus10(MyClass & mc)
{
Data newdata = { mc.getData()->id, mc.getData()->size + 10 };
mc.setData(newdata);
}
あるいは別の関数を作って
void MyClassSizePlus10(MyClass & mc)
{
Data newdata = *mc.getData();
sizePLus10(&newdata);
mc.setData(newdata);
}
これが変だとか非効率だとか思うなら
MyClassの設計が要求にあってないのでそっちを変更する
529デフォルトの名無しさん
2017/03/30(木) 20:11:34.52ID:irpIFLVN530デフォルトの名無しさん
2017/03/30(木) 23:27:09.74ID:O3+3nsIM531デフォルトの名無しさん
2017/03/30(木) 23:45:25.72ID:s+CP+YQd こういえクソみたいな方法を自慢気に語り出す奴が居るところかC++の最もクソな所だよね
532片山博文MZ ◆T6xkBnTXz7B0
2017/03/30(木) 23:51:55.55ID:2hi+y029 デフォルトコピーコンストラクターとか構造体代入とか知らないんだろう。
533デフォルトの名無しさん
2017/03/31(金) 00:14:17.76ID:5j4NF4+Z534デフォルトの名無しさん
2017/03/31(金) 01:59:49.12ID:OFYzpq31 やべえなおい糞コードの臭いがプンプンしやがるぜ
535デフォルトの名無しさん
2017/03/31(金) 02:09:29.70ID:DQgqVTGo >>526-529
ありがとうございます
今まではとりあえずget/setを書いてgetにはconstを付けとけば良いみたいな認識でしたが、
想定されるクラスの使われ方に合わせて適宜変更するべきでした
MyClassのようなget/setの分け方をすると、
sizePlus10のような関数やsetで不便になってしまうので、
constを付けないget/set共用のものにしてそれを通してアクセスさせるのが適切でした
( getData()でアクセスする場合、Data * const getData() const { /**/ } みたいな )
とても参考になりました
ありがとうございます
今まではとりあえずget/setを書いてgetにはconstを付けとけば良いみたいな認識でしたが、
想定されるクラスの使われ方に合わせて適宜変更するべきでした
MyClassのようなget/setの分け方をすると、
sizePlus10のような関数やsetで不便になってしまうので、
constを付けないget/set共用のものにしてそれを通してアクセスさせるのが適切でした
( getData()でアクセスする場合、Data * const getData() const { /**/ } みたいな )
とても参考になりました
536デフォルトの名無しさん
2017/03/31(金) 11:52:48.85ID:xItn/dk+ >>531
くそじゃない方法をおしえて
くそじゃない方法をおしえて
537デフォルトの名無しさん
2017/03/31(金) 12:09:56.69ID:c13jjk6+ C#じゃないからないでしょ
538デフォルトの名無しさん
2017/03/31(金) 13:26:56.75ID:CbPadW0u539デフォルトの名無しさん
2017/03/31(金) 13:38:11.94ID:2wgHKgmk540片山博文MZ ◆T6xkBnTXz7B0
2017/03/31(金) 17:24:06.64ID:tvggMnLQ typedef struct MY_STRUCT
{
int ch;
} MY_STRUCT;
MY_STRUCT a,b;
a.ch = 0;
b = a; //代入できる
{
int ch;
} MY_STRUCT;
MY_STRUCT a,b;
a.ch = 0;
b = a; //代入できる
541デフォルトの名無しさん
2017/03/31(金) 19:17:35.19ID:Xv9Etv1i542片山博文MZ ◆T6xkBnTXz7B0
2017/03/31(金) 19:19:25.80ID:tvggMnLQ 構造体の代入ができなかったのは大昔のことだ。
>>540
それ,K&R1 から堕落したよね
それ,K&R1 から堕落したよね
544片山博文MZ ◆T6xkBnTXz7B0
2017/03/31(金) 19:40:25.86ID:tvggMnLQ 構造体定義を#include <pshpack1.h>と#include <poppack.h>で囲むのは、スピードよりもメモリー効率を優先するときにする。
545片山博文MZ ◆T6xkBnTXz7B0
2017/03/31(金) 19:44:56.93ID:tvggMnLQ あるいは構造体のレイアウトを分かりやすくするときにパッキングを指定する。
547デフォルトの名無しさん
2017/03/31(金) 19:49:13.63ID:RKtYGe+y > スピードよりもメモリー効率を優先するときにする
20年くらい前まではそういう老人もいたね
今はメモリレイアウトを固定したい時にしか使わないけど
20年くらい前まではそういう老人もいたね
今はメモリレイアウトを固定したい時にしか使わないけど
548片山博文MZ ◆T6xkBnTXz7B0
2017/03/31(金) 19:58:28.84ID:tvggMnLQ #pragma 直接指定は礼儀が悪い、昔のやり方だ。
549デフォルトの名無しさん
2017/04/01(土) 02:25:44.35ID:m99QLuku メモリ効率だけの問題なら大抵の場合は順番入れ替えるだけで問題ないしな
551デフォルトの名無しさん
2017/04/01(土) 08:31:33.23ID:AOt54aKT そうそう
スタックに自動変数とかも言語道断
全部staticじゃなきゃね
スタックに自動変数とかも言語道断
全部staticじゃなきゃね
>>551
スタックに自動変数はあたりまえだよ‥static おじさん,じゃないつもりなんだが‥
構造体はポインタで扱うべきもので,実体をコピーするのはなるたけ避けたいね
C++ では void f(const C &arg) って,可能ならば const と参照の縛りをできるだけいれるよね,余計なコンストラクタを走らせないために
K&R1 は教育的な配慮に優れた実装だと思うんだ‥
スタックに自動変数はあたりまえだよ‥static おじさん,じゃないつもりなんだが‥
構造体はポインタで扱うべきもので,実体をコピーするのはなるたけ避けたいね
C++ では void f(const C &arg) って,可能ならば const と参照の縛りをできるだけいれるよね,余計なコンストラクタを走らせないために
K&R1 は教育的な配慮に優れた実装だと思うんだ‥
553デフォルトの名無しさん
2017/04/02(日) 14:13:23.32ID:SQNmFUeK SOCKADDRが一言
>>553
手元のソースをみると
clientSocket = accept(serverSocket, (LPSOCKADDR)&clientSockAddr, &addrLen);
とか
if (connect(destSocket, (LPSOCKADDR)&destSockAddr, sizeof(destSockAddr)) == SOCKET_ERROR) {
とか,構造体のポインタを渡しているね
由緒正しき Berkeley socket では,構造体をコピーするなんて教育的ではない書き方は許していないよ
手元のソースをみると
clientSocket = accept(serverSocket, (LPSOCKADDR)&clientSockAddr, &addrLen);
とか
if (connect(destSocket, (LPSOCKADDR)&destSockAddr, sizeof(destSockAddr)) == SOCKET_ERROR) {
とか,構造体のポインタを渡しているね
由緒正しき Berkeley socket では,構造体をコピーするなんて教育的ではない書き方は許していないよ
555デフォルトの名無しさん
2017/04/02(日) 17:31:42.61ID:QFdfGGyb つまり>>553はK&Rおじさんにも劣る存在
556デフォルトの名無しさん
2017/04/02(日) 18:21:59.15ID:XkKG9LQx K&R1 おじさん,と
K&R2 おじさん
は区別したまえ,若造
K&R2 おじさん
は区別したまえ,若造
557デフォルトの名無しさん
2017/04/02(日) 19:26:19.28ID:QFdfGGyb どっちも時代遅れの老人でしょ
K&Rなんて昔存在したという噂でしか知らない
万葉集とか古事記みたいなもの?
K&Rなんて昔存在したという噂でしか知らない
万葉集とか古事記みたいなもの?
558デフォルトの名無しさん
2017/04/02(日) 20:22:15.39ID:II71H9Zi func1(a, b)
int a;
long b;
{
}
int a;
long b;
{
}
559デフォルトの名無しさん
2017/04/02(日) 22:22:37.63ID:JMz4l+Qd > &destSockAddr,
> sizeof(destSockAddr)
由緒正しきBerkeley Socketも昔はこういう書き方したな
コイツは進歩が20年前で止まってるのか
今この書き方する奴は死刑でいい
> sizeof(destSockAddr)
由緒正しきBerkeley Socketも昔はこういう書き方したな
コイツは進歩が20年前で止まってるのか
今この書き方する奴は死刑でいい
560デフォルトの名無しさん
2017/04/02(日) 23:11:21.74ID:zmcqSa2a 便乗で申し訳ないが、値渡し、参照渡し、ポインタ渡し、の話で
ポインタ渡しといっても、C++の場合はナマポは嫌われて、スマポを使いましょう
ってことになっていると思うんだけど、これはどう渡すのが普通?
スマポを値渡しするのか、参照渡しするのか
はたまたスマポを剥いで、ナマポで渡すのか
個人的に統一しきれないっつーか
所有権やら生存期間やらリソース管理やらが関係してくるなら
スマポで渡すI/Fじゃないとまずいだろうし
逆にそういうのが関係ないなら、スタック上の自動変数を渡したいとかも考えると
ナマポで渡すI/Fのほうが都合が良かったり、どーなんだろ
一度ナマポに戻すと二度とshared_ptrに変換できないって制限がね
言語側でなんとかせずに、ライブラリで解決しようとした弊害かな
ちょうどよいバカよけなんかも知らんが
ポインタ渡しといっても、C++の場合はナマポは嫌われて、スマポを使いましょう
ってことになっていると思うんだけど、これはどう渡すのが普通?
スマポを値渡しするのか、参照渡しするのか
はたまたスマポを剥いで、ナマポで渡すのか
個人的に統一しきれないっつーか
所有権やら生存期間やらリソース管理やらが関係してくるなら
スマポで渡すI/Fじゃないとまずいだろうし
逆にそういうのが関係ないなら、スタック上の自動変数を渡したいとかも考えると
ナマポで渡すI/Fのほうが都合が良かったり、どーなんだろ
一度ナマポに戻すと二度とshared_ptrに変換できないって制限がね
言語側でなんとかせずに、ライブラリで解決しようとした弊害かな
ちょうどよいバカよけなんかも知らんが
561デフォルトの名無しさん
2017/04/02(日) 23:13:25.39ID:6tq4Ne3Z 参照一択
562デフォルトの名無しさん
2017/04/02(日) 23:24:57.32ID:xNqaI0VS >スマポを値渡しするのか、参照渡しするのか
>はたまたスマポを剥いで、ナマポで渡すのか
スマポの値渡しと生保は使い分けが必要だが、スマポの参照渡しだけはアホの所業。
とスコットメイヤーが言っていたような
>はたまたスマポを剥いで、ナマポで渡すのか
スマポの値渡しと生保は使い分けが必要だが、スマポの参照渡しだけはアホの所業。
とスコットメイヤーが言っていたような
563デフォルトの名無しさん
2017/04/02(日) 23:43:46.05ID:yhAnz0vw >>560
shared_ptrはその名の通り所有権を共有する場合のみ使うもの
で、そういう場合は値渡しでもいいよ。中でmoveすれば
所有権を共有しないなら、nullptrを許容するならナマポそうじゃないなら参照
あんまり無いけど所有権を渡した先に移動させるならunique_ptr
shared_ptrはその名の通り所有権を共有する場合のみ使うもの
で、そういう場合は値渡しでもいいよ。中でmoveすれば
所有権を共有しないなら、nullptrを許容するならナマポそうじゃないなら参照
あんまり無いけど所有権を渡した先に移動させるならunique_ptr
564デフォルトの名無しさん
2017/04/02(日) 23:58:32.77ID:TsXu0WT4 所有権渡したくないならunique_ptrで持っている呼び出し元がgetでナマポを渡すかdereferenceして参照渡すかだな
565デフォルトの名無しさん
2017/04/03(月) 00:00:55.90ID:Jbp2gIKE ナマポで渡してもshared_ptrを再取得する方法はあるだろ
まあ前提がいるが
まあ前提がいるが
566デフォルトの名無しさん
2017/04/03(月) 00:34:15.74ID:qQvnlfYK うむむ、なるほど
ポインタらしき物にこれだけ多くの種類があってI/Fで縛ってしまうのは
一見面倒そうで、最近の流行というか静的型言語的には
型安全と見るべきなんだろうかしら
安易なGC言語より良いかもしれん、単純に情報量は多い
また一つC++が好きになった
うっかり循環参照したら怖いとか
コンパイラのバージョン違いでSTLやmallocの実装に
差異が有ることを前提に組まなきゃならないとか、玉にキズもあるけれど
ポインタらしき物にこれだけ多くの種類があってI/Fで縛ってしまうのは
一見面倒そうで、最近の流行というか静的型言語的には
型安全と見るべきなんだろうかしら
安易なGC言語より良いかもしれん、単純に情報量は多い
また一つC++が好きになった
うっかり循環参照したら怖いとか
コンパイラのバージョン違いでSTLやmallocの実装に
差異が有ることを前提に組まなきゃならないとか、玉にキズもあるけれど
>>559
C/C++ で生書きするなら今もおなじだよ
C/C++ で生書きするなら今もおなじだよ
568デフォルトの名無しさん
2017/04/03(月) 07:40:50.83ID:dyU+EMvQ 型に対してじゃないのに括弧つけるの?
569デフォルトの名無しさん
2017/04/03(月) 08:48:24.23ID:WaUkCV9r そこはインデントや{}の位置が人によって違ったりするアレだろ
>>557
K&R2 は C89 準拠だよ‥C89 が時代遅れだというけれども,いろんなことは C89 のときからやってきていて,C99 で追認された,というだけだよ
K&R2 は C89 準拠だよ‥C89 が時代遅れだというけれども,いろんなことは C89 のときからやってきていて,C99 で追認された,というだけだよ
571デフォルトの名無しさん
2017/04/03(月) 20:29:22.04ID:5hra1L5C573571
2017/04/03(月) 22:02:42.26ID:ldINtwle >>572
つまりお主(K&R1おじさん)は
K&R2おじさんが自分と一緒くたにされることを
申し訳ないと感じてるのだな!?
(>543)
> それ,K&R1 から堕落したよね
(>550)
> サイズが無限にのびるかもしれないものをコピーするなんてだめだよ
(>552)
> K&R1 は教育的な配慮に優れた実装だと思うんだ‥
つまりお主(K&R1おじさん)は
K&R2おじさんが自分と一緒くたにされることを
申し訳ないと感じてるのだな!?
(>543)
> それ,K&R1 から堕落したよね
(>550)
> サイズが無限にのびるかもしれないものをコピーするなんてだめだよ
(>552)
> K&R1 は教育的な配慮に優れた実装だと思うんだ‥
574デフォルトの名無しさん
2017/04/03(月) 22:14:40.64ID:Vb9tETQW voidを返す関数には感心したな
生成されるコードは大して変わらないかも知れんけど
生成されるコードは大して変わらないかも知れんけど
575デフォルトの名無しさん
2017/04/04(火) 01:00:11.73ID:jC2xfRDP 関数プロトタイプを除けば、K&R1で十分かもしれないな
voidを返す関数? int でいいんだよ
voidを返す関数? int でいいんだよ
576デフォルトの名無しさん
2017/04/04(火) 15:11:19.04ID:AeH3x9f/ 戻り値をどうするかはcallerの勝手だからな
578デフォルトの名無しさん
2017/04/04(火) 20:27:50.00ID:/PIYb7TP int funca01(...);
int funca02(...);
int funca03(...);
int funca02(...);
int funca03(...);
579デフォルトの名無しさん
2017/04/04(火) 23:08:17.42ID:YUY8Mb54 老人は意味とか概念を理解しようとしないから嫌
「bool? intでいいだろ」
「forループ?本質はgotoと同じ」
「enumなんてintでいいだろ」
ホントもう存在が害悪
「bool? intでいいだろ」
「forループ?本質はgotoと同じ」
「enumなんてintでいいだろ」
ホントもう存在が害悪
580デフォルトの名無しさん
2017/04/05(水) 00:33:27.19ID:DVg/5L4N581デフォルトの名無しさん
2017/04/05(水) 02:38:54.31ID:ZJf7oEgw582デフォルトの名無しさん
2017/04/05(水) 04:30:52.52ID:ni2ET+sb 奴らは#defineだ
583デフォルトの名無しさん
2017/04/05(水) 08:14:48.69ID:Bh5NPBNH マジックナンバー直書きでしょ
584デフォルトの名無しさん
2017/04/05(水) 08:19:06.54ID:qVk1sCwA K&Rだと〜
c89だと〜
過去の異物がまだ現役だと信じて話してけるのがうざい
c89だと〜
過去の異物がまだ現役だと信じて話してけるのがうざい
585デフォルトの名無しさん
2017/04/05(水) 09:06:55.68ID:ncDYJBnp それ言うならC自体が。
いまさらC++と互換性のないCを選ぶ理由がない。
いまさらC++と互換性のないCを選ぶ理由がない。
586デフォルトの名無しさん
2017/04/05(水) 10:35:04.67ID:k0RY104y >>585
C++と互換性のないCってどんなの?
C++と互換性のないCってどんなの?
587デフォルトの名無しさん
2017/04/05(水) 19:40:11.14ID:IM5122PI ベターC的な所全般だな
範囲forとか2進リテラルとかスレッドライブラリとか参照とか
Cにはnullptrすら無いし細かいところでは条件演算子が右辺値とか
ようするに別言語
オーバーロードに対するtgmathとかもう糞の臭いしかしない
範囲forとか2進リテラルとかスレッドライブラリとか参照とか
Cにはnullptrすら無いし細かいところでは条件演算子が右辺値とか
ようするに別言語
オーバーロードに対するtgmathとかもう糞の臭いしかしない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- アメリカ議会 「中国が台湾武力侵攻する準備を急速進展中」 ★2 [お断り★]
- アメリカ議会 「中国が台湾武力侵攻する準備を急速進展中」 ★3 [お断り★]
- 【高市自民】中国軍SNS 高市首相に怖すぎる地獄絵で警告、火の海の靖国神社「自ら墓穴を掘り、戻れない道へ進む」 [夜のけいちゃん★]
- 外国人の犯罪率は日本人の1.72倍 警察庁が短期滞在者除いた数字を参院内閣委で答弁 [七波羅探題★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★9 [樽悶★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- 【悲報】ジャップメディア「軍部に脅されたとはいえ戦争協力して事を反省している😔」「高市早苗批判する奴は売国奴😡」 [616817505]
- 山尾元議員「今の中国が取引相手として信用できないハイリスク国であると世界が再確人、中国依存への脱却のアクセル、発言撤回は論外」 [943688309]
- 【男磨き】ハウスルール汁遊び禁止🈲🏡【ジョージメンズコーチ】
- 【実況】博衣こよりのえちえちお子様ランチ🛸💜🥀🧪🍃★2
- 高市早苗、岸田政権(当時)に「台湾有事は日本の有事か」としつこく質問をしていた [931948549]
- 奈良高専「ぼくらは、ほんとに負けたんでしょうか…」ロボコンで旭川1up周回作戦に敗北、涙ながらに語る。奈良OBからも疑問の声 [776365898]
