小编Oma*_*mar的帖子

什么是在类名后使用的&符号,如ostream&operator <<(...)?

我知道所有关于指针和&符号的意思是"地址",但在这种情况下它意味着什么?

另外,当重载运算符时,为什么通常用const声明参数?

c++ pointers class operator-overloading addressof

21
推荐指数
2
解决办法
3万
查看次数

如何设置vector <string>的默认参数,以便在类中的默认构造函数中使用?

例如,一个名为Table的类,其构造函数为: Table(string name="", vector <string> mods);

如何将矢量初始化为空?

编辑:忘记提到这是C++.

c++ string parameters constructor vector

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

为什么必须指向char数组的指针需要strcpy来为其数组赋值,双引号赋值不起作用?

当你去删除指针时,第一个例子不起作用.当我添加null终止符时,程序要么挂起,要么没有它我得到:

Debug Assertion Failed Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse) 来自Visual Studio 2008

//Won't work when deleting pointer:
    char *at = new char [3];
    at = "tw"; //   <-- not sure what's going on here that strcpy does differently
    at[2] = '\0'; // <-- causes program to hang
    delete at;

//Works fine when deleting pointer:
    char *at = new char [3];
    strcpy(at,"t");
    at[1] = 'w';
    at[2] = '\0';
    delete at;
Run Code Online (Sandbox Code Playgroud)

那么当我使用双引号而不是strcpy时会发生什么?它们都会完美地完成字符串,调试器不会显示任何不同的内容.

c++ arrays string char strcpy

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