小编shi*_*zhi的帖子

检查错误

如何将值设置为仅接受Python中的某些数据?就像我正在为颜色标识符制作代码.我希望我的变量只接受FFFFFF任何大于此的变量.基本16个字符几乎... 十六进制代码.

我试图这样做的原因是因为如果用户输入一个像GGGGGG它一样的值会给他们一个脚本错误,这实际上让我看起来不称职(我可能会这样,但我不想看起来像我).而且,如果他们输入像F1F2G%这样的特殊字符,它也会陷入困境.此外,如果他们将框保留为空白,则还会出现"脚本错误".

我想避免那些错误.有谁知道一个好方法?

python

2
推荐指数
1
解决办法
390
查看次数

编译器是否优化内联函数的局部变量

现在我读了这本书Inside The C++ Object Model的第四部分并提出了一些问题.

像这样的内联函数:

inline int max(int a, int b)
{
    return (a > b) ? a : b;
}
Run Code Online (Sandbox Code Playgroud)

然后,声明如下: a = max(x, y);

这句话将转变为 a = (x > y) ? x : y;

但是这本书说当在内联函数中添加局部变量时,如下所示:

inline int max(int a, int b)
{
    int maxval = (a > b) ? a : b;
    return maxval;
}
Run Code Online (Sandbox Code Playgroud)

它将转变为

int __max_lv_maxval;
a = (__max_lv_maxval = (x > y) ? x : y), __max_lv_maxval;
Run Code Online (Sandbox Code Playgroud)

显而易见,该功能的性能将下降.

我的问题是编译(如VC2010,gcc)是否优化内联函数并删除局部变量?

c++ compilation

0
推荐指数
1
解决办法
2643
查看次数

标签 统计

c++ ×1

compilation ×1

python ×1