笔记:C++学习之旅---初识C++

         博主也是一个新手,学习编程才一年左右,刚大学毕业不久,以前在学校学习的语言主要是C,本人是从嵌入式学起的!我现在从事的公司主要是C++,所以我也开始了自学之路,以下是我学习过程的一些笔记,有的是截取书上的,有的是自我总结的,出现一些错误也请见谅,同时也是为了激励我自己以及和大家一起学习!!!
C:面向结构化(或者说面向过程),将大程序拆分成若干小结构(模块),每个结构完成一个或多个功能,所以结构集合起来就完成了一个大功能。
C++:面向对象,有能力将大程序分成若干个对象,每个对象中在封装部分数据和实现功能方法,一个对象访问另一个对象的数据,必须挣得对象的同意,面向对象中数据的改变也不影响其他对象,从而解决了安全性问题,另一方面,面向对象允许将具有相同特征的对象划分为一类,而同一类的对象又可以继续向下派生,父生子,子生孙,代码不经修改即可重复利用,从而实现了代码的重用。可重用性、多态、封装、继承。
C++可重用性:将相关的数据和结构看成一个整体,利用已有的代码创造新的代码(比如说游戏要为一个怪物添加一个新功能,C必须重新改写各个模块功能然后加上新功能来实现,而C++只需要在已有的数据上面添加即可
)。
C++多态性:指不同的对象采用相同的方法会导致不同的结果或者行为(比如不同的球员采用同一方式进门,技术不同那么概率也不同)。

iostream(输入输出流)是个标准库,包含了众多的成员函数,每个函数都有其自身作用


”endl“换行符号与"\n"的区别是”endl“除了具备“\n”换行功能外,还调用输出流的flush函数,刷新缓冲区,让数据直接写入文件或者屏幕上。

std::是个名称空间标识符,C++标准库中的函数或者对象是在命名空间std中定义的,所以我们要使用标准库中的函数或者对象都要用std来限定。
       std都是要调用C++标准库时使用
     如:使用标准库文件iosteam时,要加上std;使用非标准库文件iostream.h,不用写。

    #include<iostream>
    using namepace std; //使用名字空间就不用重复写std;

cout(读see-out):是标准库提供的一个对象    标准输出  打印语句的。
cin(读see-in):标准输入
cerr(读see-err):标准错误,来输出警告和错误消息的。
clog(读see-log):用来输出程序运行时的一般性信息。

iostream.h为非标准的输入输出流,这个.h的头文件是C语言格式的,由于当时还没有名字空间这个说法,所以也就不存在std这个名字空间标识符。自然用isotream.h也就用不着std或者using namespace std了;
iostream 为标准输入输出流,它是C++规范的带有名称空间的头文件,它包含在std名字空间内
而iostream流里又包含cin和cout输入输出对象,所以使用cout的时候必须加上std。

名字空间的作用
C++里引入名字空间的目的是为了避免和减少命名冲突,一旦一个程序写大了,就喊难避免重名,特别是多人合作的情况下,这就是引入namespace名字空间的好处。

C++有六种数据类型
他们分别是布尔型(bool)、字符型(char)、双字符型(wchar_t)、整型(int)、单精度浮点型(float)和双精度浮点型(double)。
bool类型占一个字节
char类型占一个字节
wchar_t类型占一个字节
float类型占4个字节
double类型占8个字节
int 类型占4个字节
short  类型占2个字节
long 类型占4个字节

8位二进制数是一个字节,那么4个二进制数字就是半个字节比如(1010 0101)中,1010是前半个字节,叫高8位,0101为后半个字节,叫低8位。
大端模式和小端模式
大端模式:是指数据的低位(就是权值较小的后面那几位)保存在内存的高地址中,而数据的高位,保存在内存的低地址中
小端模式:是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。



笔记:C++学习之旅---初识C++的更多相关文章

  1. 笔记-JavaWeb学习之旅7

    JavaScript基础 概念:一门客户端脚本语言,运行在客户端浏览器中,每一个浏览器都有JavaScript的解析引擎,是一个脚本语言,不需要编译,直接就可以被浏览器解析执行. JavaScript ...

  2. 笔记-JavaWeb学习之旅5

    CP30的演示 package cn.itcast.datasourcejdbc; import com.mchange.v2.c3p0.ComboPooledDataSource; import j ...

  3. 笔记-JavaWeb学习之旅19

    Redis:redis是一款高性能的NOSQL系列的非关系型数据库 NOSQL: Not Only SQL ,意即"不仅仅是SQL",是一项全新的数据库理念,泛指非关系型数据库 r ...

  4. 笔记-JavaWeb学习之旅18

    AJAX:ASynchronous JavaScript And XML 异步的JavaScript 和XML 异步和同步:客户端和服务器端相互通信的基础上 同步:客户端操作后必须等待服务器端的响应, ...

  5. 笔记-JavaWeb学习之旅17

    1.过滤选择器 首元素选择器:first 获得选择的元素中的第一个元素 尾元素选择器:last获得选择元素中的最后一个元素 非元素选择器:not(selector) 不包括指定内容的元素 偶数选择器: ...

  6. 笔记-JavaWeb学习之旅16

    增强对象的功能 动态代理:在内存中形成代理类 实现步骤: 代理对象和真实对象实现相同的接口 代理对象 = Proxy.newProxyInstance(); 使用代理对象调用真实对象的方法 增强方法 ...

  7. 笔记-JavaWeb学习之旅15

    Filter:过滤器 概念:当访问服务器的资源是,过滤器可以将请求拦截下来,完成一些特殊的功能 快速入门: 步骤: 定义一个类,实现接口Filter 复写方法 配置拦截路径 package com.d ...

  8. 笔记-JavaWeb学习之旅14

    JSTL:JavaServer Pages Tag Library JSP标准标签库 if标签 <%@ page import="java.util.ArrayList" % ...

  9. 笔记-JavaWeb学习之旅10

    Servlet server applet运行在服务器端的小程序,servlet就是一个接口,定义了Java类被浏览器访问到的规则(Java类重写这个接口,就可以被浏览器(tomcat)识别) Ser ...

  10. 笔记-JavaWeb学习之旅13

    验证码案列 昨天晚上出现的500错误原因在于验证码没有获取到,获取验证码是应该获取的是共享域中的验证码,而我把获取值得键给写成了jsp中的键,而不是内存生成图片中,然后把图片上传到共享域中的键.这两个 ...

随机推荐

  1. Vue 使用插件nprogress页面加载进度条

    下载 npm i nprogress 在main.js中引入: import App from './App' import VueRouter from 'vue-router' import ro ...

  2. node报错解决办法

    依次报错: Error: Cannot find module 'gifsicle' Syntax Error: Error: Cannot find module 'imagemin-gifsicl ...

  3. C/C++ 数据结构使用数组实现队列的基本操作

    //使用数组实现队列 #include <iostream> #include <Windows.h> using namespace std; #define MAXSIZE ...

  4. 文件搜索失败:cannot update repo 'Media": No LRO_ URLS, LRO_MIRRORLISTURL nOr LRO _METALINKURL specified

    配置yum源 1.产看当前系统版本 cat /etc/redhat-release 2.进入/etc/yum.repos.d目录,新建bak目录,将系统自带的yum移到bak目录 cd /etc/yu ...

  5. selenium 使用ddt,运行提示错误信息no such test method

    测试用例test_asg测试数据是通过ddt的方式添加,使用suite.addTest方法添加该用例提示错误信息no such test method in <class 'unitest_lo ...

  6. 图像主题颜色提取(Median cut)

    前言 之前想对图片素材进行分类管理,除了打标签,还有一样是通过主题色进行分类.于是开始寻找能提取主主题色的工具,最后找到了大名鼎鼎的 Leptonica 库,其中就有中位切割算法的实现.下面附上中位切 ...

  7. Matlab笔记--Matlab基础

    Matlab基础 数据类型(共有15种数据类型) 整数 取整函数 浮点数(单精度浮点数和双精度浮点数--默认为双精度浮点数) 复数 数据的显示格式(format确定数据的显示格式): 数据格式经过改变 ...

  8. 关于IDEA新建Maven项目时,会卡死,无法实现新建问题的具体解决

    对于问题的描述 在进行新建项目时,突然就出现了选择好一切之后,点击CREATE后,直接卡死停滞(对于一个菜菜来说,只能通过电脑重启来改变一下它无法动弹的状态了) 对于该问题的解决 解决的话,具体步骤如 ...

  9. Jetson查看JetPack版本

    Jetson查看JetPack版本 查看L4T版本 cat /etc/nv_tegra_release 我的L4T版本为 32.5.1 在官网查找对应的jetpack版本 This page incl ...

  10. 10.4 提高叠加处理速度(2) (harib07d)

    ps:能力有限,若有错误及纰漏欢迎指正.交流 sheet_refreshsub void sheet_refreshsub(struct SHTCTL *ctl, int vx0, int vy0, ...