C++ BOOL与BOOL的区别与优势
我一直在玩一些返回BOOL的函数。我知道如何使用它们,但布尔和布尔有什么区别?我还看了一些来自directX的示例代码,他们使用它作为int?使用int、bool或bool是否有优势?我的主要问题是我应该使用哪一个?C++ BOOL与BOOL的区别与优势,c++,boolean,C++,Boolean,我一直在玩一些返回BOOL的函数。我知道如何使用它们,但布尔和布尔有什么区别?我还看了一些来自directX的示例代码,他们使用它作为int?使用int、bool或bool是否有优势?我的主要问题是我应该使用哪一个?BOOL是Windows特定的类型名称;它是int的typedef(别名) 历史上,它可能是微软在内置的 BoOL 类型被添加到C++之前。 对于任何不需要与Windows API对话的新代码,只需使用bool // header file void f( int ); // ok
BOOL
是Windows特定的类型名称;它是int
的typedef
(别名)
历史上,它可能是微软在内置的<代码> BoOL 类型被添加到C++之前。 对于任何不需要与Windows API对话的新代码,只需使用
bool
// header file
void f( int ); // ok
void f( BOOL); // ok, redeclares the same function
仅对必须符合Windows API的代码使用BOOL
(如果Windows API是在今天从头开始编写的,那么它可能会使用C++内置的
bool
类型,而不是自己发明的。bool
是历史的遗迹。)bool
是Windows特有的类型名称;它是int
的typedef
(别名)
历史上,它可能是微软在内置的<代码> BoOL 类型被添加到C++之前。 对于任何不需要与Windows API对话的新代码,只需使用
bool
// header file
void f( int ); // ok
void f( BOOL); // ok, redeclares the same function
仅对必须符合Windows API的代码使用BOOL
(如果Windows API是在今天从头开始编写的,那么它可能会使用C++内置的
bool
类型,而不是自己发明的。bool
是历史的遗迹。)bool
是Windows特有的类型名称;它是int
的typedef
(别名)
历史上,它可能是微软在内置的<代码> BoOL 类型被添加到C++之前。 对于任何不需要与Windows API对话的新代码,只需使用
bool
// header file
void f( int ); // ok
void f( BOOL); // ok, redeclares the same function
仅对必须符合Windows API的代码使用BOOL
(如果Windows API是在今天从头开始编写的,那么它可能会使用C++内置的
bool
类型,而不是自己发明的。bool
是历史的遗迹。)bool
是Windows特有的类型名称;它是int
的typedef
(别名)
历史上,它可能是微软在内置的<代码> BoOL 类型被添加到C++之前。 对于任何不需要与Windows API对话的新代码,只需使用
bool
// header file
void f( int ); // ok
void f( BOOL); // ok, redeclares the same function
仅对必须符合Windows API的代码使用BOOL
(如果Windows API是在今天从头开始编写的,那么它可能会使用C++内置的
bool
类型,而不是自己发明的。bool
是历史遗留物。)为了最好的类型安全性,在新代码中,应该使用bool作为布尔值。如果您使用BOOL之类的接口,则自动类型转换通常适用于您,但在其他情况下,您只需将BOOL视为表示布尔值的遗留整数 为了获得最佳的类型安全性,在新代码中,您应该使用bool作为布尔值。如果您使用BOOL之类的接口,则自动类型转换通常适用于您,但在其他情况下,您只需将BOOL视为表示布尔值的遗留整数 为了获得最佳的类型安全性,在新代码中,您应该使用bool作为布尔值。如果您使用BOOL之类的接口,则自动类型转换通常适用于您,但在其他情况下,您只需将BOOL视为表示布尔值的遗留整数 为了获得最佳的类型安全性,在新代码中,您应该使用bool作为布尔值。如果您使用BOOL之类的接口,则自动类型转换通常适用于您,但在其他情况下,您只需将BOOL视为表示布尔值的遗留整数 使用int、bool或bool有好处吗?
与bool
相比,使用bool
的一个优点是可以重载bool
上的函数
// header file
void f( int ); // ok
void f( BOOL); // ok, redeclares the same function
有关为什么使用
bool
而不是bool
的更多信息,请阅读Herb Sutter的文章使用int、bool或bool是否有优势?
与bool
相比,使用bool
的一个优点是可以重载bool
上的函数
// header file
void f( int ); // ok
void f( BOOL); // ok, redeclares the same function
有关为什么使用
bool
而不是bool
的更多信息,请阅读Herb Sutter的文章使用int、bool或bool是否有优势?
与bool
相比,使用bool
的一个优点是可以重载bool
上的函数
// header file
void f( int ); // ok
void f( BOOL); // ok, redeclares the same function
有关为什么使用
bool
而不是bool
的更多信息,请阅读Herb Sutter的文章使用int、bool或bool是否有优势?
与bool
相比,使用bool
的一个优点是可以重载bool
上的函数
// header file
void f( int ); // ok
void f( BOOL); // ok, redeclares the same function
有关为什么在
bool
上使用bool
更有意义的更多信息,请阅读Herb Sutter的文章大多数编译器将bool
的大小设置为1字节,而int
的大小通常为4字节。
在这种情况下,如果对紧凑的结构使用bool
,可以明显节省空间
现在,理论上,移动和
int
比移动一个字节快(int
通常是本机机器字)。因此,在最大速度的微优化意义上,等于int
的BOOL
比等于字节的BOOL
要好。大多数编译器将BOOL
的大小设为1字节,而int
的大小通常为4字节。
在这种情况下,如果对紧凑的结构使用bool
,可以明显节省空间
现在,理论上,移动和<