[過去ログ] 【初心者歓迎】C/C++室 Ver.100【環境依存OK】 [無断転載禁止]©2ch.net (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
17: デフォルトの名無しさん [sage] 2016/11/07(月) 19:25:01.70 ID:fwwW9lIx(2/2) AAS
>>11
11(1): デフォルトの名無しさん [sage] 2016/11/07(月) 14:56:04.42 ID:6MsAvbZq(1) AAS
↑幻覚をみた糖質のつぶやき
ん?
int b[2][3];をわたせんの?
func(int a[][3]);以外で
33: デフォルトの名無しさん [sage] 2016/11/08(火) 17:22:56.70 ID:FW358liz(3/3) AAS
>>32
32(1): デフォルトの名無しさん [sage] 2016/11/08(火) 16:58:49.59 ID:sBMnjDSh(1) AAS
>>28
外部リンク:ideone.com

一応単なる改行や数字で始まらない文字列は弾くようにした
ただしコメントにも書いてあるけど 123def みたいな数字で始まる文字列を
入力したときは数字だけ返すんでそれが駄目なら自前で作るしかないね
getline知りませんでしたが何とかできそうです
ありがとうございます
241: デフォルトの名無しさん [] 2017/01/20(金) 05:11:02.70 ID:vaOLIJJw(1) AAS
クラス定義で定義されたメンバ関数は暗黙にinlineになるね。
(『プログラミング言語C++第4版』p.464 16.2.8 クラス内関数定義)

class SomeClass {
public:
  int a() {return a_;} // 暗黙のinline指定
private:
  int a_;
}

…という話を書くために厚い本を調べてたら

class SomeClass {
public:
  int a();
private:
  int a_;
}

inline int SomeClass::a() // 明示的にinline指定
{
  return a_;
}

と書く方法も載ってた。 >>240
240(1): デフォルトの名無しさん [sage] 2017/01/20(金) 01:12:20.36 ID:/ixeQkYS(1) AAS
短いメソッドなら、ヘッダに、inline 指定して書くと、
関数化せずに、inline にしてくれる可能性が高い

まあ、言語では保証していないけど。コンパイラ依存
は後者の説明だったのね。
294: デフォルトの名無しさん [] 2017/01/30(月) 22:20:13.70 ID:XMGcU10o(1) AAS
デバッグビルドなら普通でしょ
448: デフォルトの名無しさん [sage] 2017/02/17(金) 07:52:16.70 ID:+UDZhFA4(1) AAS
uint8_tとか使ってるとき嵌るんだよなぁ。
479
(1): デフォルトの名無しさん [sage] 2017/02/23(木) 21:15:37.70 ID:JF3nU8GT(1/2) AAS
生成出来ないクラスってやつね。
486: デフォルトの名無しさん [sage] 2017/02/24(金) 08:45:12.70 ID:SswDvM4l(1) AAS
環境すら書かないと言うことは
(実質)環境非依存での方法を聞いてるんだろうな?
505: デフォルトの名無しさん [sage] 2017/02/25(土) 07:21:27.70 ID:98TUEskp(1) AAS
なんで2分ちょいで出てくるかね。
535: デフォルトの名無しさん [sage] 2017/03/31(金) 02:09:29.70 ID:DQgqVTGo(1) AAS
>>526-529
ありがとうございます

今まではとりあえずget/setを書いてgetにはconstを付けとけば良いみたいな認識でしたが、
想定されるクラスの使われ方に合わせて適宜変更するべきでした

MyClassのようなget/setの分け方をすると、
sizePlus10のような関数やsetで不便になってしまうので、
constを付けないget/set共用のものにしてそれを通してアクセスさせるのが適切でした
( getData()でアクセスする場合、Data * const getData() const { /**/ } みたいな )
とても参考になりました
613: デフォルトの名無しさん [sage] 2017/04/14(金) 12:59:25.70 ID:Hdztr2ik(1) AAS
出来ることと乱用していいことはイコールでない
一瞬だけの一時変数を直前で宣言するのならありだけど
関数全体で使うなら頭で宣言すべきだし、そもそも中間で宣言するような長い関数は
短くなるよう見直すべき
676: デフォルトの名無しさん [sage] 2017/06/04(日) 11:02:02.70 ID:4s9JqZC9(1/5) AAS
>>674
674(2): デフォルトの名無しさん [] 2017/06/04(日) 05:01:25.52 ID:a4MXR2y0(1) AAS
テンプレート構造体を作りその配列をクラスのメンバに含めたいのですが上手くいきません。

作りたいクラスはスタックとして使えるもので、
主な作りたいメンバは、二つの型のメンバ変数を持つ上記のテンプレート構造体の配列。
引数としてテンプレート構造体を持ち、上記の配列に順次プッシュしていく関数。
最後にプッシュされた構造体をポップする関数、という3つです。

どのようにすればテンプレート構造体をクラスのメンバにすることが出来るのでしょうか?
もしくは、このような機能を持つクラスを実装するためにはどうすればいいのでしょうか?
よろしくお願いします。
外部リンク:ideon.com
710: デフォルトの名無しさん [sage] 2017/06/12(月) 01:48:34.70 ID:E1Ahh3IF(1) AAS
はつみつ
721: 653 [sage] 2017/06/17(土) 16:42:18.70 ID:YXyzn6OG(1) AAS
それ戻り値がvoidだからじゃ

vs2015で試したら添字演算子の結果を使わなければvoidのままでも動いたし
戻り値返すようにしたら普通の使い方もできたよ
819
(2): デフォルトの名無しさん [] 2017/07/03(月) 19:44:02.70 ID:BsrmCust(1) AAS
VisualC++とそれ以外用とで別の関数を用意して、プリプロセッサを使用してコンパイル時に選択したいと思っています
この場合、関数全体を#ifdef _MSC_VER〜#endifで囲うことになるのですか?
もう少しきれいな書き方があれば教えてください
よろしくお願いします
882
(1): デフォルトの名無しさん [sage] 2017/07/09(日) 16:20:52.70 ID:v/7piv3Y(1) AAS
>>880
880(5): デフォルトの名無しさん [] 2017/07/09(日) 16:06:32.28 ID:EeQkMvgZ(1/4) AAS
ポインタそのものにオブジェクトってできるんでしょうか?
例えば、配列arrayのアドレスをポインタpで、ポインタpのアドレスをポインタpのポインタppで調べたんですが、
int array[3];
int *p = array;
int **pp = &p;
for(i = 0; i < 3; i++)
{
printf("&array[%d] : %d : %d\n", i, &array[i]);
}
&array[0] : 2293472
&array[1] : 2293476
&array[2] : 2293480
&p[0] : 2293472
&p[1] : 2293476
&p[2] : 2293480
&pp[0] : 2293468
&pp[1] : 2293472
&pp[2] : 2293476
ppが参照しているpのオブジェクトの位置が、arrayのオブジェクトのアドレスと全く同じ位置にあります。
1つのアドレスが2つのオブジェクトをもてるのか、ポインタ自体にオブジェクトは生成されないのか
他の要素でそうなってるのかわかりません。どなたか回答宜しくお願いいたします。
pとarrayは異なるオブジェクトだから確認方法が間違ってる
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.044s