c++几个小问题
2012-10-21 23:28
513 查看
c++几个小问题:
1、c++控制台中 cout 无法输出string类型变量
碰到了好几次这种错误情况。后来网上搜了搜,发现,#include <iostream.h> ,#include <string.h> 是头文件没有写正确。一直都没有注意过头文件中的.h问题,都是记起来就加上,记不起来就忘记。可是这次追究起来发现,.h 和没有.h的头文件大不相同。出现这个错误也只是因为这个.h的问题。
百度百科里面找到的原文:<iostream>和<iostream.h>格式不一样 前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。因此,当使用<iostream.h>时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现;当使用<
iostream>的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。
很明显还是有很大区别的。飞仔说老师讲过要是系统自带的头文件在c++里面不用带.h,要是自己写的就把.h加上。但是记得加上namespace哦。
一句话概括
如下引用:
#include <iostream>
#include <string>
using namespace std;
2、指针才能使用new分配动态的内存空间:
如 :
1、c++控制台中 cout 无法输出string类型变量
碰到了好几次这种错误情况。后来网上搜了搜,发现,#include <iostream.h> ,#include <string.h> 是头文件没有写正确。一直都没有注意过头文件中的.h问题,都是记起来就加上,记不起来就忘记。可是这次追究起来发现,.h 和没有.h的头文件大不相同。出现这个错误也只是因为这个.h的问题。
百度百科里面找到的原文:<iostream>和<iostream.h>格式不一样 前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。因此,当使用<iostream.h>时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现;当使用<
iostream>的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。
很明显还是有很大区别的。飞仔说老师讲过要是系统自带的头文件在c++里面不用带.h,要是自己写的就把.h加上。但是记得加上namespace哦。
一句话概括
如下引用:
#include <iostream>
#include <string>
using namespace std;
2、指针才能使用new分配动态的内存空间:
如 :
#include<iostream> #include<string> using namespace std; class Actor{ private: string _name; bool _gender; public: Actor(string name,bool gender); ~Actor(); void say(); }; Actor::Actor(string name,bool gender) :_name(name),_gender(gender) { } Actor::~Actor(){ cout<<_name<<"走了"<<endl; } void Actor:: say(){ cout<<_name<<"来了"<<endl; } void main(){ Actor * tang=new Actor("三栈",0);//这里如果tang不是指针类型的话,则不能使用new Actor("...",0);来分配动态的内存空间,即:替换成Actor tang("三栈",0);
tang->say(); //这里是指针的时候,就要使用到"->",不是指针的时候,就要使用到"."
// delete tang; //而且指针要通过delete才会调用其对应的析构函数,非指针类型的,会直接调用。 }
相关文章推荐
- 大型C++项目必须注意的几个小问题
- C++笔试的几个小问题
- 从C++到C#,我遇到的几个问题
- 大型C++项目必须注意的几个小问题
- 【c++程序】继承的几个问题
- C/C++几个面试常见细节问题及解答
- (C/C++面试题)没看过不知道自己有多差!!!!原本以为自己C还可以,也做过几个项目了,看了这些面试问题,我傻住了!!!!
- 回答“在校C++学生之困惑”的几个问题
- 从C++到C#,我遇到的几个问题
- C++中几个值得分析的小问题(2)
- 最近碰到几个c++问题
- C++中拷贝构造函数的几个细节问题
- 关于C和C++动态链接库的几个问题
- C++链接几个经常出错的问题
- 托管C++项目链接非托管C++静态链接库几个问题
- 常见的几个C++ QT4问题的处理
- c++面试问题的几个方向
- 常见的几个C++ QT4问题的处理
- C++中按值调用中的几个比较好玩的问题
- 【C++学习笔记】关于预处理器的几个问题