![]() ![]() ![]()
|
BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework UNIVERSE 5.0 |
#undef bool #define bool boolean SFMTYPEDEFALIAS(bool, Bool) #undef true #define true (TRUE) #undef false #define false (FALSE)
関連情報 : SFMTYPEDEFALIAS
if (SFXAscii::IsDigit(ch) == true) { ... } // 誤った使い方 if (SFXAscii::IsDigit(ch)) { ... } // 正しい使い方
![]() |
注意 |
|---|---|
| SophiaFramework UNIVERSE では、Bool 値を返す関数は、「真」と値として true ( = 1 ) を返すわけではありません。 C 言語と同様、0 以外の値は真として扱われます。 | |
Bool MyFunction(SIntN flag) {
return (flag & 0x4000); // 誤った使い方
}
![]() |
注意 |
|---|---|
|
C 言語では論理値は int 型で表しますが、SophiaFramework UNIVERSE の Bool 型は実際には必ずしも int 型ではありません。 Bool 型が unsigned char 型で定義される場合、返り値は常に false ( = 0 ) になります。 | |
Bool MyFunction(int flag) {
return (flag & 0x4000 != 0); // 正しい使い方
}
// または
Bool MyFunction(int flag) {
return !!(flag & 0x4000); // 正しい使い方
}
typedef void Void, *VoidPtr, **VoidHandle; typedef void volatile VoidVolatile, *VoidVolatilePtr, **VoidVolatileHandle; typedef void const VoidConst, *VoidConstPtr, **VoidConstHandle; typedef void volatile const VoidVolatileConst, *VoidVolatileConstPtr, **VoidVolatileConstHandle; SFMTYPEDEFPACK(VoidPtr) SFMTYPEDEFPACK(VoidHandle)
typedef char &Ref, *Ptr, **Handle; typedef char volatile &VolatileRef, *VolatilePtr, **VolatileHandle; typedef char const &ConstRef, *ConstPtr, **ConstHandle; typedef char volatile const &VolatileConstRef, *VolatileConstPtr, **VolatileConstHandle; SFMTYPEDEFPACK(Ptr) SFMTYPEDEFPACK(Handle)
// 汎用の符号付き整数 SFMTYPEDEFALIAS(signed int, SIntN) // 汎用の符号なし整数 SFMTYPEDEFALIAS(unsigned int, UIntN) // 8 ビット符号付き整数 SFMTYPEDEFALIAS(signed char, SInt08) // 8 ビット符号なし整数 SFMTYPEDEFALIAS(unsigned char, UInt08) // 16 ビット符号付き整数 SFMTYPEDEFALIAS(signed short, SInt16) // 16 ビット符号なし整数 SFMTYPEDEFALIAS(unsigned short, UInt16) // 32 ビット符号付き整数 SFMTYPEDEFALIAS(signed long, SInt32) // 32 ビット符号なし整数 SFMTYPEDEFALIAS(unsigned long, UInt32) // 64 ビット符号付き整数 #if defined TARGET_COMPILER_MSVCPP SFMTYPEDEFALIAS(signed __int64, SInt64) #else SFMTYPEDEFALIAS(signed long long, SInt64) #endif // 64 ビット符号なし整数 #if defined TARGET_COMPILER_MSVCPP SFMTYPEDEFALIAS(unsigned __int64, UInt64) #else SFMTYPEDEFALIAS(unsigned long long, UInt64) #endif
SFMTYPEDEFALIAS(float, Float32) SFMTYPEDEFALIAS(double, Float64)
![]() |
注意 |
|---|---|
| SophiaFramework UNIVERSE では C / C++ 言語の浮動小数点演算が使えるので、BREW のヘルパー関数は不要です。 | |
![]() |
浮動小数点演算子を使うときの注意 |
|---|---|
浮動小数点ライブラリをリンクするため、使う演算子の種類毎にアプレットサイズが増えます。 | |
Float64 num1(255);
Float64 num2(123.5);
Float64 num3;
num3 = (num1 + num2) / (num1 - num3);
if (num3 < num1) {
...
}
![]() |
注意 |
|---|---|
|
BREW API に含まれない三角関数や指数・対数関数も使えます。 高速な三角関数演算 SFXTrigonometric クラスも利用可能です。 詳細情報 : RealView コード生成ツールの数学関数 | |
SFMTYPEDEFALIAS(char, AChar) SFMTYPEDEFALIAS(AECHAR, WChar)
![]() |
AChar と WChar |
|---|---|
|
AChar は ANSI 文字 (マルチバイト文字) を表す型です。 WChar は BREW ワイド文字を表す型です。 | |
|
Copyright (C) 2002 - 2008 Sophia Cradle Incorporated All Rights Reserved. |
![]() ![]() ![]()
|