
C/C++
MyRe
C/Java/Android路上的小菜虫
展开
-
C++ 友元函数模板 和 友元类模板 和 顺序栈
在开始的开始,强烈鄙视清华大学出版社的殷人昆的数据结构,身为一本教材竟然如此多错误!今天按照那本该死的数据结构写了一个顺序栈,在友元函数模板处遇到无法识别的标识符错误。friend ostream & operator & s);而在类中的友元模板,应该这样用:1.友元函数模板templateclass A{public: template friend原创 2013-11-08 21:37:12 · 699 阅读 · 0 评论 -
为什么删除指针后还要设置指针会NULL(0)
本人初学C/C++,期间遇到的问题在此记录下来方便自己,同时也方便其他菜鸟,请老手勿喷!今天初次接触类,遇到以下代码delete[]name;name=NULL;产生疑问:为何回收了name的空间后还需要设置指针为空?删除指针后再复制为空是一个编程的好习惯如果指针需要再次使用,则可以判断指针是否有效(name!=NULL)如果_name属于类的成员,则不必再赋值为NULL,因为析构后,对象不再存在原创 2013-11-12 14:46:43 · 1070 阅读 · 0 评论 -
C++ 头文件cstring,string.h,string 三者的区别
一般一个C++的老的带“.h”扩展名的库文件,比如iostream.h,在新标准后的标准库中都有一个不带“.h”扩展名的相对应,区别除了后者的好多改进之外,还有一点就是后者的东东都塞进了“std”名字空间中。 但唯独string特别。 问题在于C++要兼容C的标准库,而C的标准库里碰巧也已经有一个名字叫做“string.h”的头文件,包含一些常用的C字符串处理函数,比如楼主提到的strc原创 2013-11-12 14:47:32 · 1500 阅读 · 0 评论 -
C++实现加法器:1+2+3+4
思路: 用getline()读取字符串,遇到‘+’停止 sscanf(str[i].c_str(),"%d",&s[i]),str()将string转换为c字符串,sscanf()读取c字符串并转换为int原型istream& getline ( istream &is , string &str , char delim );//遇到delim结束istream& get原创 2013-11-12 14:47:08 · 1795 阅读 · 0 评论 -
C++ 判断输入是否数字
使用isdigit()判断是否0~9#include using namespace std;#includeint main(){ char input[20]; cout cin>>input; for(int i = 0; i { if(!isdigit(input[i])) { cout exit(0); } } cout} 使用cin>>fail判断是否科学计数法#inc原创 2013-11-12 14:46:57 · 3194 阅读 · 0 评论 -
C++字符串输入
在C++中则把字符串封装成了一种数据类型string,可以直接声明变量并进行赋值等字符串操作。以下是C字符串和C++中string的区别: C字符串 string对象(C++) 所需的头文件名称 或 或 需要头文件 原因 为了使用字符串函数原创 2013-11-12 14:46:54 · 773 阅读 · 0 评论 -
Visual Studio 遇到了异常。这个可能是由某个扩展导致的
今天用VS 2012 Express版本遇到的异常错误问题,上网查得一下解决办法解决方法:1、先查看注册表是否和下面一致。在运行中输入命令:regedit,打开注册表编辑器32位系统查找注册表的项:[HKEY_CLASSES_ROOT\CLSID\{73B7DC00-F498-4ABD-AB79-D07AFD52F395}\InProcServer32],把它的默认值修改为:C:\Program原创 2013-11-12 14:47:03 · 1334 阅读 · 0 评论 -
关于String类
引用自:http://zhidao.baidu.com/question/41548216.html之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们原创 2013-11-12 14:46:50 · 634 阅读 · 0 评论 -
C++ priority_queue 优先队列 改变优先级
struct comp1//升序排列 { bool operator () (int & a,int & b) { return a>b; } }; struct comp2//降序排列 { bool operator ()(int & a, int & b) { return a } }; priority_queue,comp1>queue1; priority_queue原创 2013-11-12 14:47:17 · 984 阅读 · 0 评论 -
用基类指针创建的派生类对象,从而无法访问派生类对象的数据和成员
感谢优快云的同学热心回答.现在mark down.QUESTIION:class A{};class B:public A{public: void f(); int a;}int main(){A * p=new B();}//用p无法访问B类的数据和成员函数,那么这个新建的对象存不存在f()和a?这个新对象的储存结构仍是类B,但是p是基类对象所以没办法访问f()和a,所以需要加virtu原创 2013-11-12 14:47:01 · 1065 阅读 · 0 评论 -
C++ 错误error LNK2019: 无法解析的外部符号
(1)添加类,只有.h文件,而没有.cpp文件,或者是.h中某个方法,而在.cpp文件中没有实现部分;(2)某个lib文件或者dll没有加。原创 2013-11-12 14:46:59 · 841 阅读 · 0 评论 -
constructors not allowed a return type错误
constructors not allowed a return type错误编译时类构造函数报错,提示:constructors not allowed a return type原因是类声明文件中末尾少了";"分号!!囧原创 2013-11-12 14:46:52 · 871 阅读 · 0 评论 -
C/C++ 利用FindFirstFile()和FindNextFile() 历遍指定目录的所有文件
本文利用FindFirstFile(),FindNextFile()函数历遍指定目录的所有文件,最基础的历遍所有文件。一下代码尚无法解决文件名为中文时的乱码问题,以及无法分别无后缀的文件名和文件夹名的区别。FindFirstFile()用于获得指定目录的第一个文件。其原型为:HANDLE WINAPI FindFirstFile( _In_ LPCTSTR lpFileName, _O原创 2013-11-12 14:47:30 · 4268 阅读 · 0 评论