小编Abd*_*man的帖子

条件语句中逗号的优点是什么?

我们可以写一个if声明

if (a == 5, b == 6, ... , thisMustBeTrue)
Run Code Online (Sandbox Code Playgroud)

只有最后一个条件才能进入if身体.

为什么允许?

c++ if-statement comma

60
推荐指数
5
解决办法
4914
查看次数

为恒定语法或语义错误分配值?

第二行代码是C++中的语法错误还是语义错误?

 int a = 7;
 3 = a;
Run Code Online (Sandbox Code Playgroud)

在标准的C++无上下文语法中,我发现这个语句在语法上是有效的.

c++ compiler-construction syntax-error lvalue

8
推荐指数
1
解决办法
168
查看次数

如何在菜单栏中添加单选按钮,qt 5 c ++

我正在制作一个基于QT GUI的应用程序来演示一些算法,我想从菜单栏中一次选择一个算法.

为此,我有两种方法,

一个是使QAction可检查并循环遍历每个并检查一个被点击并取消选中所有其他的.

另一种是在菜单栏中添加单选按钮.

哪种方法更好?

如果第二个更好,我该怎么做?

c++ qt

5
推荐指数
1
解决办法
2356
查看次数

将std :: bitset分为两半?

我正在实现DES算法,我需要分std::bitset<56> permutationKey成两半。

std::bitset<56> permutationKey(0x133457799BBCDF);
std::bitset<28> leftKey;
std::bitset<28> rightKey;

std::bitset<56> divider(0b00000000000000000000000000001111111111111111111111111111);

rightKey = permutationKey & divider;
leftKey = (permutationKey >> 28) & divider;
Run Code Online (Sandbox Code Playgroud)

我试图打字bitset<56>bitset<28>但没有用。

实现相同目的的其他方法是分别迭代和分配每个位。我想在不使用循环的情况下实现它,必须有另一种方法。

我能够用原始类型做到这一点

uint64_t key = 0b0001010101010101110110001100001110000011111100000000011111000000;
                    //00010101.01010101.11011000.11000011---|---10000011.11110000.00000111.11000000
uint32_t right = (uint32_t)key;
uint32_t left = key >> 32;
Run Code Online (Sandbox Code Playgroud)

我怎么能这样分裂bitset

c++ c++11 std-bitset

4
推荐指数
1
解决办法
1148
查看次数

在C++中将运算符作为参数发送

我有两个变量和一个运算符(可以是+, - ,/,比较......).编写一个带有2个参数和运算符作为参数的函数是一个好主意吗?

功能可能如下所示

T foo(int a,int b, sometype(not sure) operator)
Run Code Online (Sandbox Code Playgroud)

然后从中创建一个字符串

foo(a,b,+);

as  a+b
Run Code Online (Sandbox Code Playgroud)

这是一个好方法还是有其他方法吗?

c++ c++11

3
推荐指数
1
解决办法
215
查看次数

如何在shell脚本的命令提示符下输入文本而不执行命令?

有没有办法在命令提示符下输出shell脚本而不发出命令?

背景:我每天多次SSH到特定的机器,大约80%的时间,我登录后立即输入相同的三个命令.我只想把这些命令在我.bashrc,但20%的时间,我希望发出这些命令.我想知道是否有一些我可以放入的命令.bashrc会自动将一个字符串放在我的命令行中,这样当我登录时我会看到:

$ cd some/dir && ./some_script.sh
Run Code Online (Sandbox Code Playgroud)

然后我可以按80%的时间输入,或者只是在20%的时间内清除文本.

linux bash shell

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