小编New*_*bie的帖子

如何在windows编程上制作"选择文件"功能?

我需要这个我们程序中所有已知的"选择文件"功能,所以我可以加载文件.

这个东西叫做什么,它的代码在哪里?

c++ windows

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

强制值为布尔值:(bool)发出警告,!! 犯规

我喜欢(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;

问题是,我希望它尊重我想将其转换为布尔值.我不想隐藏所有布尔警告,因为有时候他们保存了我的屁股.

c++ boolean visual-studio-2008

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

如何通过字符串数组并为不同的字符串应用函数?

好吧,这可能是一个非常愚蠢的问题,但我希望有一些我还不知道的东西.

我浏览一个文件,检查每行的字符串,具体取决于字符串值,我为它(或函数)执行不同的函数.

这是我现在这样做的方式:

编辑:我需要在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()的东西在这里使用?

c++ windows

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

如何在struct数组中自动初始化最后一项?

我正在将一个数组传递给一个函数,我正在使用一些值全局初始化它.我在数组的末尾使用空字符串来确定数组长度.

现在,有没有办法自动初始化数组以在其末尾有额外的空项目,所以我没有机会从那里忘记它?就像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)

c++ windows struct

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

OpenGL:将RGBA颜色结构发送到glColor*()作为一个参数?

有没有办法发送像这样的结构:

struct COLOR {
    float r, g, b, a;
};
Run Code Online (Sandbox Code Playgroud)

直接将glColor*()函数作为一个参数?会使代码更好.

我可以自己创建函数并将每个R,G,B,A值分别发送到glColor4f(),但这不会那么好.因此,我正在寻找一种尽可能以最佳方式发送它的方法.

c++ opengl

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

标签 统计

c++ ×5

windows ×3

boolean ×1

opengl ×1

struct ×1

visual-studio-2008 ×1