上面的话题让我做一些实验与bool和int的if状态.所以出于好奇我写了这个程序:
int f(int i)
{
if ( i ) return 99; //if(int)
else return -99;
}
int g(bool b)
{
if ( b ) return 99; //if(bool)
else return -99;
}
int main(){}
Run Code Online (Sandbox Code Playgroud)
g++ intbool.cpp -S 为每个函数生成asm代码,如下所示:
asm代码 f(int)
__Z1fi:
LFB0:
pushl %ebp
LCFI0:
movl %esp, %ebp
LCFI1:
cmpl $0, 8(%ebp)
je L2
movl $99, %eax
jmp L3
L2:
movl $-99, %eax
L3:
leave
LCFI2:
ret
Run Code Online (Sandbox Code Playgroud)asm代码 g(bool)
__Z1gb:
LFB1:
pushl %ebp
LCFI3: …Run Code Online (Sandbox Code Playgroud)使用布尔值的向量比动态位集慢吗?
我刚刚听说过boost的动态bitset,我想知道它值得麻烦.我可以只使用布尔值的向量吗?