相关疑难解决方法(0)

char*envp []是main()可移植的第三个参数

为了在C程序中获取环境变量,可以使用以下内容:

  • getenv()
  • extern char **environ;

但除了上面提到的,使用char *envp[]第三个参数main()来获取环境变量被认为是标准的一部分?

#include <stdio.h>

int main(int argc, char *argv[], char *envp[])
{
    while(*envp)
        printf("%s\n",*envp++);
}
Run Code Online (Sandbox Code Playgroud)

char *envp[]便携式?

c environment-variables command-line-arguments

59
推荐指数
4
解决办法
4万
查看次数

C++最令人烦恼的解析

直接来自http://herbsutter.com/2013/05/09/gotw-1-solution/

虽然widget w();对我来说很清楚,但我不知道下面的代码如何成为函数声明?

// same problem (gadget and doodad are types)
//
widget w( gadget(), doodad() );  // pitfall: not a variable declaration
Run Code Online (Sandbox Code Playgroud)

这怎么可能?

c++ c++11 gotw

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

在C++中模拟嵌套函数

在C中,以下代码可以考虑我总是使用gcc.

int foo( int foo_var )
{
 /*code*/
  int bar( int bar_var )  
  {
    /*code*/
    return bar_var;
  }
  return bar(foo_var);
}
Run Code Online (Sandbox Code Playgroud)

如何在gcc编译器上实现C++中嵌套函数的相同功能?不介意这看起来像是一个初学者的问题.我是这个网站的新手.

c c++ nested-function

27
推荐指数
4
解决办法
2万
查看次数

是否可以在C++中使用匿名类?

我已经看到匿名类C++上Quora的代码.它已成功编译并运行.

代码在这里:

#include <iostream>

auto func()
{
    class // no name
    {
      public:
             int val;
    } a;

    a.val = 5;

    return a;
}

int main()
{
    std::cout << func().val << std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

那么,它在C++中是否有效?

另外,我很想知道,是否可以在C++中使用匿名类?

c++ g++ class c++11 c++14

24
推荐指数
3
解决办法
2825
查看次数

在C或C++中是否可以在另一个内部创建一个函数?

如果C或C++中有可能,有人可以告诉我吗?

void fun_a();
//int fun_b();
...
main(){
   ...
   fun_a();
   ...
   int fun_b(){
     ...
   }
   ...
} 
Run Code Online (Sandbox Code Playgroud)

或类似的东西,例如函数内的类?

谢谢你的回复,

c c++

12
推荐指数
5
解决办法
5356
查看次数

为什么要编写一个带有名称的C++ lambda,以便可以从某个地方调用它?

为什么要编写一个带有名称的C++ lambda,以便可以从某个地方调用它?这不会打败lambda的目的吗?在那里编写函数更好吗?如果没有,为什么?功能会有任何缺点吗?

lambda function c++11

10
推荐指数
3
解决办法
1493
查看次数

使用if-else中的重复代码减少代码重复

我想知道以下简短的片段,确实显示重复可以使更多干.我似乎经常遇到这种结构.

假设我想要在运行时选择同步或异步的某些计算.

for(i <- 1 to reps) {
  Thread.sleep(expDistribution.sample().toInt)
  if (async) {
    Future {
      sqlContext.sql(query).collect()
    }
  } else {
    sqlContext.sql(query).collect()
  }
}
Run Code Online (Sandbox Code Playgroud)

重复调用sqlContext会感觉很笨拙.这个琐碎的重复构造有成语吗?

scala dry

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

关于使用#pragma region在Visual Studio中折叠代码块

在VisualStudio中,当您编写一个函数时,它可以折叠成轮廓,每个人都知道它.您还可以使用#pragma region#pragma endregion手动指定代码区域,以便它可以折叠.但是我发现了一个问题,如果任何折叠的代码块在其中#pragma region,它们就不能再崩溃了.有什么办法可以解决吗?

<code> funcA()</ code>,<code> funcB()</ code>,<code> funcC()</ code>可以折叠

添加<code> #pragma region </ code>后,它们无法独立折叠.

c c++ pragma visual-studio

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

c ++程序中的未知错误

我有一个c ++程序,根据用户输入的内容打开一个url.

这是代码:

#include <iostream>
#include <string>
using namespace std;

int main(){
    int i = 1;
    string google = "https://www.google.com/search?q=";
    string input;
    getline(cin, input);
    string changeSpace(string input)
    {
        for (int i = 0; i < text.length(); i++)
        {
            if (text[i] == ' ')
                text[i] = '+';
        }
        return text;
    }
    input = changeSpace(input);
    cout << input << endl;
    string url = string(google + input);
    system(string("start " + url).c_str());
    cout << url << endl;
}
Run Code Online (Sandbox Code Playgroud)

错误在这里:

string changeSpace(string input)
{
Run Code Online (Sandbox Code Playgroud)

在括号中它表示它预期";" …

c++

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