我需要这个我们程序中所有已知的"选择文件"功能,所以我可以加载文件.
这个东西叫做什么,它的代码在哪里?
我喜欢(bool)更多,但它会产生警告.我如何摆脱警告?
我的代码如下:
bool something_else = 0;
void switcher(int val = -1){
if(val != -1){
something_else = (bool)val;
}else{
something_else ^= 1;
}
}
Run Code Online (Sandbox Code Playgroud)
我应该像其他人一样做,并使用'!!' 或者在使用(bool)时以某种方式隐藏警告信息?或者是'!!' 实际上比(布尔)更快?
我想用(bool)所以我必须隐藏警告,但是如何?
编辑:我正在使用Visual Studio 2008,对不起,我忘了告诉.
编辑2:警告信息是warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)和它出现在线something_else = (bool)val;上但在线something_else = val;但不在线something_else = !!val;
问题是,我希望它尊重我想将其转换为布尔值.我不想隐藏所有布尔警告,因为有时候他们保存了我的屁股.
好吧,这可能是一个非常愚蠢的问题,但我希望有一些我还不知道的东西.
我浏览一个文件,检查每行的字符串,具体取决于字符串值,我为它(或函数)执行不同的函数.
这是我现在这样做的方式:
编辑:我需要在if的更新代码中使用if-else-if范围之外的变量:
string s1 = "used";
string s2 = "in";
string s3 = "functions";
if(str == "something"){
something = process(s1, s2);
}else if(str == "something else"){
something = process(s2, s3);
}else if(str == "something more"){
something = process(s1, s3);
something = process(s1, s2);
}else if(str == "something again"){
// do more stuff
}else if(str == "something different"){
// do more stuff
}else if(str == "something really different"){
// do more stuff
}
Run Code Online (Sandbox Code Playgroud)
我担心如果我不得不重复其他的话,这会变得"慢"......
我试着使用switch()语句,但显然它在这里不起作用,是否有类似于switch()的东西在这里使用?
我正在将一个数组传递给一个函数,我正在使用一些值全局初始化它.我在数组的末尾使用空字符串来确定数组长度.
现在,有没有办法自动初始化数组以在其末尾有额外的空项目,所以我没有机会从那里忘记它?就像char []的工作方式一样,它会为最终的IIRC增加额外的空值.
这是我现在使用的代码:
struct twostrings {
string s1, s2;
};
twostrings options[] = {
{"text1", "more text1"},
{"text2", "more text2"},
{"text3", "more text3"},
{""}, // tells that the array ends here
}
int get_len(twostrings opt[]){
int p = 0;
while(1){
if(opt[p].s1 == ""){
return p;
}
p++;
// now here is a possibility to go in infinite loop if i forgot the empty string.
// currently i have a code here that checks if p > 10000 and gives …Run Code Online (Sandbox Code Playgroud) 有没有办法发送像这样的结构:
struct COLOR {
float r, g, b, a;
};
Run Code Online (Sandbox Code Playgroud)
直接将glColor*()函数作为一个参数?会使代码更好.
我可以自己创建函数并将每个R,G,B,A值分别发送到glColor4f(),但这不会那么好.因此,我正在寻找一种尽可能以最佳方式发送它的方法.