C到C++的快速教程
1.头文件:
C++头文件不是以.h结尾,C语言中的标准库文件如math,h,stdio.h在C++中被命名为cmath,cstdio
2.命名空间:
为防止名字冲突(出现同名),C++引入名字空间(namespace)。通过::运算符限定某个名字属于哪个名字空间。
namespace name
{
//变量,函数,类等
}
//电子::“小明”
通常有三种方法使用名字空间X的名字name:
/*
using namespace X;//引入整个名字空间
using X::name;//使用单个名字
X::name;//程序中加上名字空间前缀,如X::
*/
#include <cstdio>
namespace first
{
int a;
void f(){/*...*/}
int g(){/*...*/}
} namespace second
{
double a;
double f(){/*...*/}
char g;
} int main ()
{
first::a = ;
second::a = 6.453;
first::a = first::g()+second::f();
second::a = first::g()+6.453; printf("%d\n",first::a);
printf("%lf\n",second::a); return ;
}
#include<iostream>
//命名空间的using声明
//using namespace::name;
using std::cin;
int main()
{
int i;
cin >> i;
cout << i;//错误,没有对应的using声明
std::cout << i;
return ;
}
3.C++的输入和输出
#include <iostream> //标准输入输出头文件
#include <cmath>
using namespace std; //引入整个名字空间std中的所有名字
//cout cin都属于名字空间std;
//cout输出用<<运算符 cin紧跟>>运算符
int main() {
double a;
cout << "从键盘输入一个数" << endl;
cin >> a;
a = sin(a);
cout << a;
return ;
}
4.程序块{}内部作用域可定义域外部作用域同名的变量,在该块里就隐藏了外部变量
#include <iostream>
using namespace std; int main ()
{
double a; cout << "Type a number: ";
cin >> a; {
int a = ; // "int a"隐藏了外部作用域的“double a"
a = a * + ;
cout << "Local number: " << a << endl;
} cout << "You typed: " << a << endl; //main作用域的“double a"
return ;
}
5.struct的加强
struct Student
{
char name[];
int age; }; //C语言:在定义变量结构体变量时一定要在前面加上struct关键字
struct Student stu={"wang",};
//C++:可以直接用结构体名来定义变量
Student stu ={"wang",};
6..访问和内部作用域变量同名的全局变量,要用全局作用域限定 ::
#include <iostream>
using namespace std; double a = ; int main (){
double a = ; cout << "Local a: " << a << endl;
cout << "Global a: " <<::a << endl; //::是全局作用域限定 return ;
}
7. 内联函数
对于不包含循环的简单函数,建议用inline关键字声明 为"inline内联函数", 编译器将内联函数调用用其代码展开,称为“内联展开”,避免函数调用开销, 提高程序执行效率
内联函数没有普通函数调用时的额外开销(如压榨、跳转、返回)
inline int myMax(int a, int b)
{
return (a>b?a:b); }
C到C++的快速教程的更多相关文章
- Python快速教程 尾声
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 写了将近两年的Python快速教程,终于大概成形.这一系列文章,包括Python基 ...
- 【Python大系】Python快速教程
感谢原作者:Vamei 出处:http://www.cnblogs.com/vamei 怎么能快速地掌握Python?这是和朋友闲聊时谈起的问题. Python包含的内容很多,加上各种标准库.拓展库, ...
- 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV
这次博客园的排版彻底残了..高清版请移步: https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程: 给深度学习入门者的Python快速教程 - 基础篇 给深度 ...
- 给深度学习入门者的Python快速教程 - numpy和Matplotlib篇
始终无法有效把word排版好的粘贴过来,排版更佳版本请见知乎文章: https://zhuanlan.zhihu.com/p/24309547 实在搞不定博客园的排版,排版更佳的版本在: 给深度学习入 ...
- Python快速教程目录(转)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 怎么能快速地掌握Python?这是和朋友闲聊时谈起的问题. Python包含的内容 ...
- Python快速教程 尾声(转)
原文地址: http://www.cnblogs.com/vamei/p/3603046.html 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留 ...
- 发布《Linux工具快速教程》
发布<Linux工具快速教程> 阶段性的完成了这本书开源书籍,发布出来给有需要的朋友,同时也欢迎更多的朋友加入进来,完善这本书: 本书Github地址:https://github.com ...
- Python快速教程
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 怎么能快速地掌握Python?这是和朋友闲聊时谈起的问题. Python包含的内容 ...
- AFNnetworking快速教程,官方入门教程译
AFNnetworking快速教程,官方入门教程译 分类: IOS2013-12-15 20:29 12489人阅读 评论(5) 收藏 举报 afnetworkingjsonios入门教程快速教程 A ...
- python快速教程-vamei
2016年10月26日 12:00:53 今天开始着手python的学习,希望能高效快速的学完! Python基础(上)... 7 实验简介... 7 一.实验说明... 8 1. 环境登录... 8 ...
随机推荐
- linux客户端打印报表时操作系统的配置
报表打印是用applet方式操作的,所以客户端要有jre环境.如果客户端是windows系统的话,安装jre环境比较方便:如果客户端是linux系统的话,即使服务器端reportConfig.x ...
- 前端模块化方案全解(CommonJS/AMD/CMD/ES6)
模块化的开发方式可以提高代码复用率,方便进行代码的管理.通常一个文件就是一个模块,有自己的作用域,只向外暴露特定的变量和函数.目前流行的js模块化规范有CommonJS.AMD.CMD以及ES6的模块 ...
- MySql与SqlServer的区别
1.SQL Server 是Microsoft 公司推出的关系型数据库管理系统.具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运 ...
- Navicat Premium 连接MySQL数据库出现Authentication plugin 'caching_sha2_password' cannot be loaded的解决方案
1. 管理员权限运行命令提示符,登陆MySQL mysql -u root -p root 2. 修改账户密码加密规则并更新用户密码 ALTER USER 'root'@'localhost' ID ...
- GIT速成
安装工具与使用工具: GIT工具 :https://www.git-scm.com/download/ WINGDOWS图形界面工具:https://download.tortoisegit.org/ ...
- mocha、chai、sinon和istanbul实现100%单元测试覆盖率
敏捷软件开发中,最重要实践的就是测试驱动开发,在单元测试层面,我们试着实现一个重要的指标就是测试覆盖率.测试覆盖率衡量我们的代码是否已经全部被测试到了. 但是指标本身不是目的,借助测试覆盖率检查,我们 ...
- npm与gulp的使用
这边将工作中使用的npm以及gulp的一些方法做了整理,方便以后查阅,至少不用去麻烦度娘了~ A.npm的使用: 1.在你所需要的文件夹里面初始化npm--> npm init -y - ...
- leetCode题解之Self Dividing Numbers
1.题目描述 2.题目分析 简单题目,只要挨个判断该数是不是满足条件即可. 3.代码 vector<int> selfDividingNumbers(int left, int right ...
- Bootstrap框架。
什么是 Bootstrap Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更 ...
- 最常见到的runtime exception 异常
ArithmeticException, 算术异常ArrayStoreException, 将数组类型不兼容的值赋值给数组元素时抛出的异常BufferOverflowException, 缓冲区溢出异 ...