在函数调用中处理多个布尔变量的更好方法
Better way to handle mulitple boolean variables in function call
逻辑是用一些输入值调用函数,函数返回多个布尔变量。
以后可以扩展布尔变量
function(inp1,inp3,bool1,bool2... booln)
我决定将布尔变量打包到结构
中function(inp1,inp3,struct bool_flags)
请帮助我一个有效的设计
我不太确定你在这里想要完成什么,因为问题不清楚,但我有一个想法。你可以把所有的布尔值打包成uint
或ulong
。然后,变量的每一位都是一个布尔值。你可以像这样读取布尔值:
uint bools;
bool bool0 = bools & 1;
bool bool1 = (bools >> 1) & 1;
etc...
你可以这样写布尔值:
bools |= bool0;
bools |= bool1 << 1;
etc...
这是通过逻辑移动、并置和循环值来实现的。c++中的布尔值是1或0。所以要读,你移动"容器"变量,然后&
的bool值。要写入,您移动bool值并使用"container"对其进行|
。
唯一的缺陷是int型被限制为32位,而long型是64位。如果需要的话,您可以创建一个int型或long型的结构体来进行更有效的打包。好运!
相关文章:
- 如何更好地检查两个 char 变量是否在一组值中?
- 静态常量与常量局部变量,哪一个性能更好
- 重新定义要在函数中使用的静态变量 - 有没有更好的方法?
- 有没有更好的方法来命名管道`cv :: mat`变量
- 有没有更好的方法可以从子类访问父类的变量?
- 将中间变量用于三元运算符(或类似运算符)以获得更好的性能
- 在C++中设置变量的值之前检查变量是否更好
- 对成员类/对象变量使用指针更好吗
- 有没有更好的方法来通过 C/C++ 中的环境变量创建路径
- 把x-1计算成一个变量然后使用它更好吗
- 在高性能计算中更好的做法是:将数据结构传递到一个函数或一组变量中
- 我是否应该将 const 用于局部变量以获得更好的代码优化
- 对于c++中的单个静态变量,有没有比类更好的选择
- 为什么"Set()"函数比修改公共变量更好?
- 在 main 中初始化类的 "static const" 类型变量成员的更好方法
- 在函数调用中处理多个布尔变量的更好方法
- 是在单个头文件中定义全局(外部)变量更好,还是在它们各自的头文件中更好?
- 对于计算密集型函数,类函数参数是否比c++中的类变量更好?
- 有没有更好的方法来解读多个变量
- 哪个是更好的方法 - 将"常量引用"与"boost::<Class>shared_ptr"存储为成员变量