[過去ログ] 【初心者歓迎】C/C++室 Ver.100【環境依存OK】 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
235(1): デフォルトの名無しさん [sage] 2017/01/19(木) 22:46:56.05 ID:knltoro2(1) AAS
新しくクラスとそれに関連した処理などを実装するとき
ヘッダー側でクラスの定義、ソースファイル側にクラス内のメンバ関数の実装部などを書きますよね
その時メンバ関数はどんな場合でもヘッダー側に書かずにソース側に書くものですか? たとえば
//ヘッダー側です
class A{
private:
int num;
public:
int ReturnNum(void){
return num;
}
};
処理はたった一行ですけどこの場合もint ReturnNum()の実装部はソースファイル側にint A::ReturnNum()のように移すべきですか?
ネット上のプログラムをいくつか見てみたらこのようにメンバ変数をただ返すだけの処理ならヘッダー側に書いてあるものも少なくなかったのでどっちが好ましいんだろうと気になりました
265: デフォルトの名無しさん [sage] 2017/01/22(日) 08:28:10.05 ID:5o7PrILb(1) AAS
>>261261(1): デフォルトの名無しさん [sage] 2017/01/21(土) 08:35:23.75 ID:P1/rV56D(1) AAS
インライン関数はODR回避のためだと思っていた
C++17(予定)のインライン変数もそんな感じ
そうそう。最適化目的でinline付けても普通無視されるからね。
267(2): デフォルトの名無しさん [] 2017/01/24(火) 12:50:54.05 ID:ZplzBBh2(1/2) AAS
Windows上で、APIを使わずに、コマンドプロンプト上だけで結果が
ほしいような、C言語のプログラムを作るのに便利な開発環境はありますか?
VIsualStudioは重すぎてあまり使いたくありません。
どうぞよろしくお願いします。
326(1): デフォルトの名無しさん [sage] 2017/02/03(金) 14:06:26.05 ID:S9UE3yae(1) AAS
nullptrはC++11からの機能だからですね
"gcc" -> "g++ --std=c++11"を使ってください
元のコンパイルは-lalutを指定していますが
そのプログラムならOpenALだけで大丈夫なので 下記で通ります
ライブラリをpkg-configに探させてるだけです
g++ --std=c++11 program.c `pkg-config openal --libs` -o program
351: デフォルトの名無しさん [sage] 2017/02/06(月) 21:52:01.05 ID:w07g0Jpo(1/2) AAS
registerは予約語なのに無関係は無いわ
406: デフォルトの名無しさん [sage] 2017/02/11(土) 19:59:07.05 ID:nnf0vKBy(1) AAS
K&R2 あたりにあわせておけば問題ないのでは?
というか,K&R2 から大幅に変えさせられるのは苦痛だな
563: デフォルトの名無しさん [] 2017/04/02(日) 23:43:46.05 ID:yhAnz0vw(1) AAS
>>560560(1): デフォルトの名無しさん [sage] 2017/04/02(日) 23:11:21.74 ID:zmcqSa2a(1) AAS
便乗で申し訳ないが、値渡し、参照渡し、ポインタ渡し、の話で
ポインタ渡しといっても、C++の場合はナマポは嫌われて、スマポを使いましょう
ってことになっていると思うんだけど、これはどう渡すのが普通?
スマポを値渡しするのか、参照渡しするのか
はたまたスマポを剥いで、ナマポで渡すのか
個人的に統一しきれないっつーか
所有権やら生存期間やらリソース管理やらが関係してくるなら
スマポで渡すI/Fじゃないとまずいだろうし
逆にそういうのが関係ないなら、スタック上の自動変数を渡したいとかも考えると
ナマポで渡すI/Fのほうが都合が良かったり、どーなんだろ
一度ナマポに戻すと二度とshared_ptrに変換できないって制限がね
言語側でなんとかせずに、ライブラリで解決しようとした弊害かな
ちょうどよいバカよけなんかも知らんが
shared_ptrはその名の通り所有権を共有する場合のみ使うもの
で、そういう場合は値渡しでもいいよ。中でmoveすれば
所有権を共有しないなら、nullptrを許容するならナマポそうじゃないなら参照
あんまり無いけど所有権を渡した先に移動させるならunique_ptr
672(1): デフォルトの名無しさん [sage] 2017/05/24(水) 17:02:32.05 ID:/RGvDc8r(4/4) AAS
>>671何を言いたいのかよくわからんが……。
std::string を継承した型は、レイアウトが変わらないようにしたからと言って (キャストなしで) std::string には入らないよ。
言いたいことを具体的にコードで示してくれんか
709(1): はつみつ餃子 ◆8X2XSCHEME [sage] 2017/06/12(月) 01:27:35.05 ID:M0cidITY(1) AAS
std::queue では pop と front に分けられてるからその習慣に合わせた方がいいってことじゃない?
ただ、 queue のデザインが出来たときはムーブがなかったから先頭要素にアクセスするために
(参照でなく) 値を返すと同時にコンテナから削除するのはコピーが発生して非効率ってこともあってこうなってると思う。
今ならもっと別の選択肢はあっていいと思う。
まあ、古いデザインを引き摺っている部分はあるとは言っても標準ライブラリはすごくよく考えられてるから、
どうしてそうなっているのかを考察したり真似したりするのは良いと思う。
717(1): デフォルトの名無しさん [sage] 2017/06/17(土) 12:24:13.05 ID:qMkdrUOQ(1) AAS
あ、うんでもなんか、
外部リンク[html]:stlalv.la.coocan.jp
↑のページ読んだだけでもうダメなんじゃないかって
文章もなんか危ないというか危ういし
とおもったらQZか
な〜んだ納得
835: デフォルトの名無しさん [sage] 2017/07/04(火) 21:02:27.05 ID:V6j6UQbw(1) AAS
で?
836: デフォルトの名無しさん [sage] 2017/07/04(火) 21:52:57.05 ID:+pBAjacr(1) AAS
すげえ考え方の奴が出てきてワロッシュ
896: 名無しさん@そうだ選挙に行こう! Go to vote! [sage] 2017/07/10(月) 07:13:12.05 ID:ZgtWUD/x(3/3) AAS
>>894894(4): 名無しさん@そうだ選挙に行こう! Go to vote! [sage] 2017/07/10(月) 07:04:04.53 ID:Ols/UzwR(1) AAS
配列ならば確保した数+1までのアドレス計算はやっても大丈夫&整合がとれる位置に配置されている
-1も有効だとうれしい事があるけど、-1はダメなんだよね
947(3): デフォルトの名無しさん [sage] 2017/07/14(金) 20:20:31.05 ID:8ghhANnS(1) AAS
えっ
mainのreturnでint値返すのはexitをその返り値で呼ぶのと全く等価でしょ?
少なくとも現行のC,C++規格では等価と書いてあるけど現実の実装ではそうなってないってこと?
948: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/14(金) 20:52:35.05 ID:RoIBY40S(3/8) AAS
#include <iostream>
#include <cstdlib>
struct A {
~A() {
std::cout << "OK" << std::endl;
}
};
int main(void) {
A a;
std::exit(-1);
}
973: デフォルトの名無しさん [sage] 2017/07/15(土) 22:10:20.05 ID:d+yGYUAe(6/6) AAS
確かめてみたら確かに自分の環境では両方4バイトでした
64bitのプログラムにしたらダメになるんですね・・・
勉強になります。ありがとうございます。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.047s