回答了问题2017-03-27
把一个成员声明为私有的目的就是不让你在子类中用,要是像题主这样强制类型转换之后就可以用的话还要private这个访问说明符干嘛,只留public和protected不就好了。
回答了问题2017-03-18
报错原因是你的拷贝构造函数参数类型写的不对,少了const修饰符。在C++中,临时变量是不能绑定到非常量引用的。而楼主程序中函数Point fun()的返回值是临时变量,拷贝构造函数Point(Point &p)的参数是非常量引用,所以编译器会报错,提示没有匹配的函数。当把拷...
回答了问题2017-01-02
一般情况下请使用 iterator 或 range for 遍历 vector,如果必须使用 index,则需要注意在循环过程中 vector 的长度是否会发生变化。
关注了问题2017-01-02
赞了回答2016-08-13
正解是std::string这个东东实际只是std::basic_string<char>的typedef,所以如果你要调它的析构函数才对:
回答了问题2016-08-13
大概看了一下,假设只有一个节点时,下面这段代码可能出现错误: {代码...} 具体错误建议单步跟踪,看执行到哪一行报错。 另外下面这段要干嘛没看懂……判断条件难道不是永远为假么…… {代码...}
关注了问题2016-08-13
回答了问题2016-05-31
老老实实毕业再说,这就是期末综合症。觉得无聊可以自己做项目或者去找实习。 一个本科学位都没有的人,说实话,要在其他方面付出比别人多得多的努力才有可能有竞争力,这个付出不是每个人都能做到的。
赞了回答2016-05-28
pb的作用就是在可以引用的值和堆上的内存对象之间进行绑定的,你要访问堆上的对象的话,需要通过pb来操作。 见上图,按照你举得例子,你指示让pb又指向了一个新的堆上内存地址,但之前的你没有显示delete掉,就会产生内存泄漏。 泄漏的一个例子 {代码...}
回答了问题2016-05-23
你需要看这个类的构造函数是怎么写的,要把构造函数和析构函数一起看才行。
回答了问题2016-05-19
发代码的时候请不要发截图。 这是因为(1)运算符优先级不同,+高于+=;(2)加法的操作数(operand)不同。 {代码...} 等价于 {代码...} 类似于 {代码...} 等价于 {代码...} 两个char类型的变量(字符)做加法,相当于把两个字符对应的数值相加,所以'\0'+'a'等价于...
回答了问题2016-05-19
std::string:标准中未规定需要\0作为字符串结尾。编译器在实现时既可以在结尾加\0,也可以不加。但是,当通过c_str()或data()(二者在 C++11 及以后是等价的)来把std::string转换为const char *时,会发现最后一个字符是\0(原因见文末附录)。
回答了问题2016-05-17
可以使用 base64 把二进制数据编码成字符串保存。 另外还有std::bitset不过应该不是你想要的。
回答了问题2016-05-17
你可以这样想象,初始时有一个指针指向根目录,然后从左往右读路径,遇到一个文件夹名加斜杠fold/就把指针指向下一层目录,遇到../就把指针指回当前目录的上一层目录,遇到./则不改变指针指向。
回答了问题2016-05-17
先说结论:关于头文件引用分两种习惯,一种是把所有用到的库都写在头文件里,另一种是把用到的库写在实现文件里。我个人倾向于前一种方式。 题主的问题是在编译时找不到vector这个标识符,有两种解决办法: 办法一: 在MinimumPathSum.h里加入#include <vector>...
回答了问题2016-05-17
在函数名上点右键,选查找所有引用。 或者光标放在函数名上,按Shift+F12。
回答了问题2016-05-14
1,重载后置++,返回了的一个局部对象,这个局部对象是否会被析构销毁? 是。 2,这里为什么返回的是Coordinate,而不是Coordinate& ? 返回非静态局部变量的引用是未定义行为。
回答了问题2016-05-14
要么就设成某个默认值,要么就抛异常。
回答了问题2016-05-13
估计是你的源文件保存的编码格式和 Windows 控制台的格式不同导致的。你可以试试输出到文件,然后打开输出的文件,应该就没有乱码了。
回答了问题2016-05-10
这个问题很难有定论吧,VIM 本身支持很多不同的配置文件组织方法,每个人都有不同需求,所以需要的方法也不同。你可以在 github 上搜 VIM 或 vimrc,然后按星标排序,把排名靠前的 repo 的文件组织方式都看看,然后总结出适合自己的方法。