using namespace std:命名空间可以保证一些命名能够在全局不冲突。如用户可以通过声明命名空间,然后用运算符::区别同名的不同变量
using namespace std;
namespace first
{
int a;
int b;
}
namespace second
{
double a;
double b;
}
int main ()
{
first::a = 2;
second::a = 6.453;
cout<<
first::a + second::a <<endl;}
/**/不能嵌套但可以/*/ * *  /*/可以让中间的*与/不直接相连。
标准输入输出:进行打印cout<<和键盘输入cin>>
新的控制语句:相当于switch()中可以有不同的表达式,case也更加灵活。
try
{
  if(表达式1)throw case1;
if(表达式2)throw case2;
  throw case3;
}
catch (int result)//接收throw的结果
{ cout << "Result is: " << result << endl;
b = result + 1;
}
模板类函数:忽略数据类型,都会进行相同的操作,比如求最小,无论整形还是浮点型:
template <class ttype>
ttype minimum (ttype a, ttype b)
{
ttype r; r = a;
if (b < a) r = b; return r;
}
结构体中除了数据外还可以有函数,被称为方法。
类的实现方法可以包含在类中,也可以在类的外面实现(用类名::函数名进行引用),通常头文件和代码分离的都是通过这种方法实现的。同时可以将模块.cpp单独编译成模块.o文件,只需将.o文件交给其他人进行链接编译就起到了代码保护。
operate= :重载操作符主要用于对实例对象间的运算。
static:如何用static修饰类中变量,则所有实例将共享该变量(相互影响),这是数据共享的一种方法 类:是一种数据结构,类对象是一个变量(用点操作符.),类指针一般用动态分配实现(对类成员用指针操作->),常规的一些运算操作如果要用在类上面,需要进行操作符重载的操作(比大小、赋值、相等等操作)。类的成员函数默认是内联函数(当然也可以显示声明)

1 变量初始化:局部变量都不会初始化;静态和全局都为0

2 常量:用Const对#define 进行扩展:必须初始化& 运行中不能改变。const修饰函数的参数:不希望参数在被调用过程中改变。

2.1指向常量的指针(*指针不分开,内容不能更改,但指针可变 指针+-1):类型 const *指针=地址;

2.2常量指针(const 在*和指针中间,指针不可更改(不能在指向其他地址),但指针内容可变 *(指针 +1)=x):类型  *const指针=地址

3变量:

3.1基本类型初始化新方法:int i(1)相当于int i =1

3.2变量在使用前定义即可不必非在文件头部,但同样你也不能在循环体外再调用在循环体内才定义的变

   for (int i = 0; i < 4; i++)
{
cout << i << endl;
}
cout << i << endl; // Bad practice!

3.3全局和局部变量同名:在局部变量的作用域全局被隐藏,但可使用::访问隐藏的同名全局变量。以下例子中a在{}内外指代的是不同对象

 cin >> a;

   {
int a = 1;
a = a * 10 + 4;
cout << "Local number: " << a << endl;
} cout << "You typed: " << a << endl;

3.4指针:void无类型指针可与其它任何进行转换,空指针=NULL(0);必须先给指针赋值才能运算。

3.5引用(变量别名,实质是常量指针拷贝初始化):类型 &引用标识符=被引用标识符(前提被引用标识符要先初始化);在被调用函数的形参用引用:避免大数据类型的拷贝开销,并且能改变实参,这个和指针作用相同,但指针可以不指向任何对象和指向不同对象。,注意:不能引用void类型变量、数组、不能对空指针引用,也不能进行引用的引用。

3.6 动态分配:new 类型[n]可以创建数组,其中类型可以是自定义或者class,不用强制类型转换,delet 指针,但若以数组形式分配,释放时delete [] 指针名

。if(!(指针=new 类型))//分配出错。

四函数:

4.1函数的重载:执行的功能相同或者相近,因参数不同执行有差异

4.1 函数的参数:不定参数;缺省参数(有缺省的必须在右侧不能交叉);引用作为参数和返回值(实参用变量,形参用引用)实质上是地址传递但不用进行取地址操作,比指针更方便直接,凡是形参用指针的地方都可以用引用代替。引用作为返回值从而可以让函数可以作为表达式左值进行增量计算,但要注意的是,此时函数的返回值变量必须是全局或者静态的(因函数调用结束作为局部变量就会消失),要么就是增加参数(引用方式)

4.1内联函数:解决小函数的调用开销提高效率,同事避免带参数宏在自加自减操作时的错误。应用注意:必须在当前文件用调用,适合1~5行操作,不能用在递归函数中,先定义好后使用,不用使用循环和开关语句。

4.4构造函数和析构函数:构造函数和类同名,不能有返回值,但可以有多个(函数重载通过参数个数、类型、返回值来区分,在编译的时刻绝对调用哪个重载函数,缺省构造函数不需要任何参数),主要是创建实例时做的初始化的工作;析构函数是释放资源。

c++笔记1的更多相关文章

  1. git-简单流程(学习笔记)

    这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...

  2. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  3. SQL Server技术内幕笔记合集

    SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...

  4. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  5. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  6. NET Core-学习笔记(三)

    这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...

  7. springMVC学习笔记--知识点总结1

    以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- ...

  8. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  9. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  10. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

随机推荐

  1. Workerman安装流程

    第一步检测安装环境 curl -Ss http://www.workerman.net/check.php | php 操作结果显示 报错了  需要找到php.ini文件 解决办法如下: 打开 php ...

  2. struts2 validate手动验证

    我们前面学习struts2知道,struts2通过拦截器实现了一些验证操作. 比如,如果是不能转换的类型在action中接受的话会跳转到错误页面,错误信息中会包含对应的错误信息,例如: 首先我们了解一 ...

  3. 示例的libevent的程序

    著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:auxten 链接:http://zhuanlan.zhihu.com/auxten/20315482 来源:知乎 /* ...

  4. python+selenium自动化测试环境搭建

    selenium 是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium ,相因为它相比QTP有诸多有点: *  免费,也不用再为破解QTP而大伤脑筋 *  小巧,对于不同的语 ...

  5. poj2492A Bug's Life——带权并查集

    题目:http://poj.org/problem?id=2492 所有元素加入同一个并查集中,通过其偏移量%2将其分类为同性与异性,据此判断事件. 代码如下: #include<iostrea ...

  6. vmware ubuntu14.04 忘记密码

    重置root密码 启动系统,一直点击esc键盘,出现如下界面,选择Advanced options for Ubuntu 按回车键确认: 选择recovery mode,按 e : 到 linux / ...

  7. Spring boot 学习 四:spring boot 配置文件 application.yml

    一 关于端口: spring boot的默认端口是8080, 如果想更改的话,在配置文件中做如下配置.ServerProperties.class会去读取这个值. server: port: 另外一种 ...

  8. TCP 协议的消息

    TCP: SYN ACK FIN RST PSH URG 详解 TCP的三次握手是怎么进行的了:发送端发送一个SYN=1,ACK=0标志的数据包给接收端,请求进行连接,这是第一次握手:接收端收到请求并 ...

  9. tp框架下,数据库和编辑器都是utf-8, 输出中文却还是乱码

    输出: array(2) { [0]=> array(4) { ["id"]=> string(1) "1" ["user"]= ...

  10. ACM-ICPC2018徐州网络赛 Features Track(二维map+01滚动)

    Features Track 31.32% 1000ms 262144K   Morgana is learning computer vision, and he likes cats, too. ...