see C++ for the first(初识C++)
2016-06-26 21:39
579 查看
神秘莫测的C++
因为我们专业是网络工程所以从大一开始就与C++无缘,但是在大一第二学期的时候我们在学校里学了一学期的Java,虽然没有缘分学习C++但是总觉得这两者之间有这千丝万缕的关系(都是面向对象的语言)。听学长学姐说C++应该是最难的一门课了,作为C++初学者的我就只能尽力喽..以下是我个人对C和C++的一点认识,如果有偏差的地方希望大家多多理解啦...@C++关键字
我们知道在C语言中它的关键字有32个之多,当时我就觉得怎仫会有这仫多的关键字呢?晕...今天就让我们来看看C++里面的关键字吧...@C++的名字空间
名字空间解决全局命名冲突的问题标准C++库里的所有组件都是在一个被称为std的名字空间里声明和定义的;在标准C++的平台上使用标准C++库时有两种方式:
1).只需要写一个using指示符就可以了,using namespace std;
2).std::成员的方式也可以, ::作用域解析符
自定义名字空间
1).名字空间相当于一个更加灵活的文件域(全局域),可以用花括号把文件的一部分括起来;
2).可以在C++的名字空间std中添加新的变量( 一般很少这样做);
3).支持在不同的空间节里写相同的名字空间;
好了说了这仫多如何使用名字空间呢?下面我们就一个C中老生长谈的代码"Hello world"来理解上述名字空间的使用:
#include<iostream> namespace B1 { int a=10; } namespace B1 { int b=20; } namespace B2 { int a=100; } using namespace std; using namespace B1; using namespace B2; int main() { cout<<B1::b<<endl; cout<<B1::a<<endl; cout<<B2::a<<endl; std::cout<<"hello world"<<endl; cout<<"hello world"<<endl; system("pause"); return 0; }
它的输出结果是什仫呢?当然20 10 100 hello world hello world 啦..
@C 和C++的输入输出对比
cout 标准输出流对象,<<输出操作符 cin 标准输入流对象, >>输入操作符 endl 换行操作符 都属于C++标注库,在名字空间std里
@C++的函数重载
在同一作用域,一组函数的函数名相同,参数列表不同(个数不同/类型不同),返回值可同可不同为什仫会有 extern C ?
在C++语言中支持重载,而C中不支持重载,所以C++和C的命名规则不同,当C和C++共同在同一个函数中时就要使用extern C,
说明extern C 其后使用的函数是使用C的命名规则
比如下列代码在C中是不允许的,而在C++中因为可以重载是允许使用的:
int Add(int x,int y) { return x+y; } float Add(float x,float y) { return x+y; }
好了今天的总结就到这里了,总结的不太全面希望读者理解啦...
相关文章推荐
- Linux C函数参考手册(PDF版)
- C# partial关键字说明
- Lua教程(十七):C API简介
- 简单谈谈lua和c的交互
- C#用链式方法表达循环嵌套
- C#中的委托数据类型简介
- C#编写的艺术字类实例代码
- C#实现打造气泡屏幕保护效果
- 举例讲解C#编程中委托的实例化使用
- 使用C#代码获取存储过程返回值
- C和指针小结(推荐)
- C++中explict关键字用法
- C/C++数据对齐详细解析
- 利用C语言来求最大连续子序列乘积的方法
- 字符串的组合算法问题的C语言实现攻略
- C 语言基础教程(我的C之旅开始了)[三]
- 学习C和C++的9点经验总结
- C++中的extern “C”用法详解
- C 语言基础教程(我的C之旅开始了)[七]