トップページ > プログラム > 2014年11月24日 > VgrvAE4c

書き込み順位&時間帯一覧

3 位/256 ID中時間01234567891011121314151617181920212223Total
書き込み数21000000000000020022230014



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【初心者歓迎】C/C++室 Ver.93【環境依存OK】
リーダブルコーディング技術スレ
Visual Studio 2013 SP5©2ch.net
VB.NET質問スレ(Part41)

書き込みレス一覧

【初心者歓迎】C/C++室 Ver.93【環境依存OK】
879 :デフォルトの名無しさん[sage]:2014/11/24(月) 00:32:59.83 ID:VgrvAE4c
例えば何らかの情報を保持する構造体の中のメンバの一つに
bool型が有ったとして、その構造体に完全にデータを代入するまでは
bool型メンバーの値も未定なので、そういう場合にundefinedみたいな
状態があればいいと思うんですが、皆さんそんなことないですか?
リーダブルコーディング技術スレ
266 :デフォルトの名無しさん[sage]:2014/11/24(月) 00:50:24.64 ID:VgrvAE4c
>>246
エディタの置換コマンドで
一行に置換してしまえばいいんじゃないか?
【初心者歓迎】C/C++室 Ver.93【環境依存OK】
883 :デフォルトの名無しさん[sage]:2014/11/24(月) 01:23:16.88 ID:VgrvAE4c
>>882
C#のbool?をC++で使うにはどうすればよいでしょうか?
Visual Studio 2013 SP5©2ch.net
613 :デフォルトの名無しさん[sage]:2014/11/24(月) 15:31:46.02 ID:VgrvAE4c
新しい開発環境を使ったら、
古いのは使いたくないよなあ。
でもvs2003から2013まで
全部持っている俺。
収集マニアのようなもの。
VB.NET質問スレ(Part41)
922 :デフォルトの名無しさん[sage]:2014/11/24(月) 15:39:43.06 ID:VgrvAE4c
>>919
おっさんっていうのは失礼だろ。
魔界の先生とか師匠とか言えよ。
【初心者歓迎】C/C++室 Ver.93【環境依存OK】
895 :デフォルトの名無しさん[sage]:2014/11/24(月) 18:30:37.50 ID:VgrvAE4c
class B;

class A{
public:
//   B b;     //(1) error C2079: 'A::b' が 未定義の class 'B' で使用しています。
     B *pb;   //(2) OK
};

class B{
public:
   A a;
};

void main(){
   B b;
}
典型的な循環参照だと思うのですが、(1)でビルドすることは絶対に不可能でしょうか?
VS2013C++です。
【初心者歓迎】C/C++室 Ver.93【環境依存OK】
897 :デフォルトの名無しさん[sage]:2014/11/24(月) 18:51:38.30 ID:VgrvAE4c
>>896
レスありがとうございます。さっそく試したのですが、
VS2013C++では、
error C2079: 'A::b' が 未定義の class 'B' で使用しています。
となります。
【初心者歓迎】C/C++室 Ver.93【環境依存OK】
899 :デフォルトの名無しさん[sage]:2014/11/24(月) 19:06:15.00 ID:VgrvAE4c
>>898
そうですか。不可能の理由はサイズが決められないからですよね?
でも、たとえばClassBのサイズを100バイトくらいと仮定して
ClassAを作ってみて、それで余ればBのサイズを少し減らして
調整すれば、原理的にはA、Bを最適なサイズに確保できると思うんですが、
間違っていますか?
コンパイラはそんな事しないんでしょうか?
【初心者歓迎】C/C++室 Ver.93【環境依存OK】
902 :デフォルトの名無しさん[sage]:2014/11/24(月) 19:21:08.49 ID:VgrvAE4c
>>900>>901
ああ、そういうことですか
長年の疑問が解消しました。ありがとうございました。
ポインタにします。
【初心者歓迎】C/C++室 Ver.93【環境依存OK】
904 :デフォルトの名無しさん[sage]:2014/11/24(月) 20:34:31.39 ID:VgrvAE4c
>>903
Basicです。
もう一つ教えて下さい。
class A{
public:
  int i;
};
class B{
public:
  A *pa;
};

A funcA(){
  A a;
  a.i = 100;
  return a;
}

B funcB(){
  B b;
  b.pa = &funcA(); // これは問題ないですか?
  return b;
}

void main(){
  B b = funcB();
  printf("i=%d\n", b.pa->i);
}
VS2013C++で実行したら100と表示されるのですが、この
プログラムに何か問題ありますか?
特に &funcA()の部分が自分でも良く分りません。適当に&を付けたら
実行できたのですが、問題無いですか?
【初心者歓迎】C/C++室 Ver.93【環境依存OK】
907 :デフォルトの名無しさん[sage]:2014/11/24(月) 20:46:42.95 ID:VgrvAE4c
>>905
>そのオブジェクトはfuncBを抜けた時点で消滅してるから問題あり
やっぱり、そうですねよ。
>>906
funcBの中でnew Aして、そこにfuncA()の中身を代入するべきですよね。
それ以外に、スマートな書き方ありますか?
【初心者歓迎】C/C++室 Ver.93【環境依存OK】
909 :デフォルトの名無しさん[sage]:2014/11/24(月) 21:07:59.02 ID:VgrvAE4c
>>908
アドバイス有難うございます。
私は生ポのほうが好きで、スマポというのは使ったことが有りません。
素人では有りません。馬鹿にしないでください。
【初心者歓迎】C/C++室 Ver.93【環境依存OK】
914 :デフォルトの名無しさん[sage]:2014/11/24(月) 21:21:41.92 ID:VgrvAE4c
>>910
素人ではありません。ちょっとした勘違いです。
>>911
サンプルありがとうございました。VS2013C++では、
IntelliSense: 参照の既定の初期化は使用できません
IntelliSense: 参照の既定の初期化は使用できません
error C2440: '初期化中' : 'int' から 'B &' に変換できません。
error C2440: '初期化中' : 'int' から 'A &' に変換できません。
error C2439: 'B::a' : 指定されたメンバーは初期化できません。
error C2439: 'A::rb' : 指定されたメンバーは初期化できません。
残念ながらビルド出来ませんでした。
【初心者歓迎】C/C++室 Ver.93【環境依存OK】
918 :デフォルトの名無しさん[sage]:2014/11/24(月) 21:31:27.67 ID:VgrvAE4c
>>915
サンプルありがとうございました。
残念ながら、
error C2065: 'b' : 定義されていない識別子です。
となり、ビルドできません。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。