笔记: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. 在虚拟机上安装CentOS6.5(minimal)

    在虚拟机上安装CentOS6.5(minimal) 2017年04月04日 09:40:38 kongmd 阅读数:2171   1.安装CentOS6.5 1.首先下载VMware ,和CentOS ...

  2. C++基础之字符输出 cout

    找了一些视频教程,课程的示例是输入一个三角形 要输入这样的图案,思路是可以进行拆解,分为两三角形分别输出,先输入一部分,比如,先输出上半部分三角形: 找到规律,可以发现,上面的三角形是7颗星,也就是说 ...

  3. ESP32 IDF V5.0 编译环境

    方法:环境搭建工具一键安装: 下载链接:https://dl.espressif.com/dl/esp-idf/ 可以选择离线安装方式和在线安装方式,建议:采用离线安装的方式 下载离线安装包之后点击安 ...

  4. Cmakelist如何添加自己的组件

    在components文件夹下添加各组件的CMakeList,其中可以设置的变量如下: COMPONENT_SRCS:要编译进当前组件的源文件的路径,推荐使用此方法向构建系统中添加源文件.COMPON ...

  5. MySQL:查询语句 case when then 的用法

    转载网址: https://blog.csdn.net/h123hlll/article/details/122366213

  6. Windows 任务栏透明 居中

    任务栏设置 任务栏居中 由于windows默认的程序是从左往右显示,看着可能有一点不舒服,当然如果使用习惯的话,忽然居中,可能更不舒服 首先搜索字符映射表 点击字符映设表中第五行的空白字符,选择进行复 ...

  7. 基于 Agora SDK 实现 Windows 端的多人视频互动(基于3.6.2版本)

    本文介绍如何通过 Agora SDK 在 Windows 平台快速实现互动直播.互动直播和实时通话的区别就在于,直播频道的用户有角色之分.你可以将角色设置为主播或者观众,其中主播可以收.发流,观众只能 ...

  8. 我为什么推荐Nuxt3

    我为什么推荐Nuxt3? 大家好,我今天想和你们分享一个非常棒的前端框架--Nuxt3.自从我接触了Nuxt3,我发现它在前端开发领域具有很多优点.我想逐一向你们介绍Nuxt3的优势,并向大家推荐一些 ...

  9. python3常用模块和方法

    1.使用索引反转字符串 str="hello" print(str[::-1]) 2.zip函数获取可迭代对象,将它们聚合到一个元组中,然后返回结果.语法是zip(*iterabl ...

  10. Prometheus服务发现之kubernetes_sd_config

    一.为什么要使用Prometheus服务发现 之前我们讲过通过配置prometheus-operator的CRD ServiceMonitor来达到K8S集群相关组件和微服务的监控的目的,可以在Ser ...