C++相談室 part61

このエントリーをはてなブックマークに追加
982デフォルトの名無しさん:2008/05/25(日) 15:12:55
ググれ
「コンストラクタからコンストラクタを呼び出す C++」
983デフォルトの名無しさん:2008/05/25(日) 15:37:23
Javaのthisみたいなのが欲しいお
984デフォルトの名無しさん:2008/05/25(日) 15:55:51
ただのthisならC++にもあるから、983が欲しいのは内部クラス絡みのthisか?
985デフォルトの名無しさん:2008/05/25(日) 16:02:32
自身のコンストラクタのオーバーロード呼び出しのthis()だと思う。

class A {
  A(){ this(10); }
  A(int n){}
};

//C++的に書くと↓のようなもの
struct A{
  A():A(10){}
  A(int n){}
};
986969:2008/05/25(日) 16:08:21
>>978-980

T t(y);
swap(t);
より
T(t).swap(*this);
の方がコピー回数が少ないのかなと思いましたが、そんなことないですよね?

>>981
ありがとうございます。名前がないというのは面白いですね。

>>983
欲しいです。初期化子を重複して書かないといけないのが嫌なんですよ。
987デフォルトの名無しさん:2008/05/25(日) 16:09:48
初期化子を別の所にマクロとして書いてそれを使ってるんだが
それじゃだめなの?
988デフォルトの名無しさん:2008/05/25(日) 16:13:17
>>987
メンバ追加したときに変更箇所が離れてると面倒

ということでC++0xマダー?
989デフォルトの名無しさん:2008/05/25(日) 16:14:07
そろそろ次スレの季節だよな
990デフォルトの名無しさん:2008/05/25(日) 20:11:46
インスタンス変数のsizeofをとるだけでthis必須はアフォだよな
991デフォルトの名無しさん:2008/05/25(日) 23:37:41
static関数を内包する構造体はPOD型として認識されますか?
992デフォルトの名無しさん:2008/05/26(月) 00:54:02
ええ
993デフォルトの名無しさん:2008/05/26(月) 10:25:08
?かすまれさ識認てしと型DOPは体造構るす包内を数関citats
994デフォルトの名無しさん:2008/05/26(月) 20:19:02
>>991
関数がある時点でPODでないのでは。
995デフォルトの名無しさん:2008/05/26(月) 21:03:41
仮想関数でなければ問題なくね?
996デフォルトの名無しさん:2008/05/26(月) 23:09:57
A POD-struct is an aggregate class that has no non-static data members of type non-POD-struct,
non-POD-union (or array of such types) or reference, and has no user-defined copy assignment operator
and no user-defined destructor. Similarly,

a POD-union is an aggregate union that has no non-static data
members of type non-POD-struct, non-POD-union (or array of such types) or reference, and has no userdefined
copy assignment operator and no user-defined destructor.

A POD class is a class that is either a
POD-struct or a POD-union.
997デフォルトの名無しさん:2008/05/26(月) 23:25:35
An aggregate is an array or a class (clause 9) with no user-declared constructors (12.1), no private or protected
non-static data members (clause 11), no base classes (clause 10), and no virtual functions (10.3).
998デフォルトの名無しさん:2008/05/27(火) 11:25:13
cstdlib
999デフォルトの名無しさん:2008/05/27(火) 13:15:54
cstdlib
1000デフォルトの名無しさん:2008/05/27(火) 13:56:57
                    ,===,====、
                   _.||___|_____||_
..                 /   /||___|^ l   
..               (・ω・`)//||   |口| |ω・` )
.             ./(^(^ .//||...||   |口| |c  )
...               /   //  ||...||   |口| ||し      新スレです
.......        (・ω・`) //....  ||...||   |口| ||        楽しく使ってね
         /(^(^ //  ....  .||...||   |口| ||        仲良く使ってね
 ""    :::'' |/   |/ '' "  :::  ⌒  :: ⌒⌒⌒ :: ""  `
 :: ,, ::::: ,, ; ̄ ̄ ̄  "、 :::: " ,, , :::   " :: " ::::
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。