小编Moh*_*nei的帖子

在C++中是否有标准的getch()等价物?

我知道getch不是标准的C/C++函数,但我倾向于喜欢它,因为它不需要你在返回之前按Enter键.所以我想知道标准C++中是否有任何具有相同效果的等价物(不要求你按Enter键)?

我在这个网站上已经阅读了类似的问题,但他们的答案都没有说明是否有标准和便携式等价物.

c++

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

将数组指针传递给函数

我为什么要在以下代码中*&的类型名称(T*&)之后使用?不是a指向指针的指针?如果是,那我为什么**不用呢?

template <class T> void CreateArray(T*& a, int n)
{
   a = new double[n];
}

int main()
{
  double* a;
  CreateArray<double>(a,3);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ arrays pointers reference

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

为什么库头中的所有内容都以下划线开头?

我不想激起讨论或任何事情; 我只是好奇是否有任何具体的原因,为什么在C/C++库头文件中的名称开头常常发现次要内容.(例如_x,_y,__ f()等)

c c++ naming-conventions

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

为什么我的代码需要<iostream>?

我写了一些我学到的基本代码,可以用来定义一个获取枚举值作为构造函数参数的类型,并且有一个成员函数AsString(),它将值作为字符串返回.

除非我包含,否则代码不会编译<iostream>.它会显示一条警告,main说明该类型color尚未声明.为什么在我的代码中包含输入/输出头文件而没有使用输入/输出函数或运算符?

enum ColorEnum {blue, red};

class color
{
    protected:
        ColorEnum value;
    public:
        color(ColorEnum initvalue)
        {
            value = initvalue;
        }
        std::string AsString()
        {
            switch (value)
            {
                case blue:
                    return "blue";
                case red:
                    return "red";
                default:
                    return "N/A";
            }
        }
};

int main()
{
    color mycolor = blue;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ iostream

0
推荐指数
2
解决办法
393
查看次数

指向堆上数组的指针的地址

我试图在堆上存储一个字符数组.

以下代码有效

char *array[3];
*array = new char;
Run Code Online (Sandbox Code Playgroud)

还有以下内容

char *array[3];
array[0] = new char;
Run Code Online (Sandbox Code Playgroud)

但不是以下

char *array[3];
array = new char;
Run Code Online (Sandbox Code Playgroud)

我看到的内容*array,array[0]array.第一个和第二个在分配使用后不包含有效的指针地址,new但第三个包含地址.那么是什么让第三个不起作用呢?其他两个如何工作,而他们似乎只是存储一些未知的符号(如$,%, - )而不是指针的实际地址?

c++ arrays pointers

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

标签 统计

c++ ×5

arrays ×2

pointers ×2

c ×1

iostream ×1

naming-conventions ×1

reference ×1