c++基础第一篇
前言:我是从c和c++对比的角度来讲解c++的基础知识。
(1)c++格式如下:
#include <iostream> //标准输入输出头文件
using namespace std; //标准输入输出所在命名空间 int main(int argc,char *argv[])
{
cout<<"hello world"<<endl; //cout为标准输出,endl是换行符, 在c中相当于\n,其中标准输入为cin>>
return ;
}
(2)c++是在c的基础上发展起来的那么我们当然可以使用c中的头文件了,一般在c头文件前面加个c就可以了,比如是c中的标准输入输出可以这么写include <cstdio>,后面的.h去掉,当然这是不是标准的写法,c++中标准的写法格式如下:
extern "C"
{
include <stdio.h>
include <string.h>
...........
}
(3)定义指针
c环境下定义指针
char *p = NULL; //定义一个char型的指针,指针指向NULL
c++环境下定义指针
char p = new char;
释放的时候时候也不同
c环境下释放
free p;
c++环境下释放
delete p;
(4)定义数组
c环境下
char buffer[10]; //定义一个char型的数组,里面包含10个元素
c++环境
char buffer = new char[10];
这里需要注意的是,c中定义的数组不需要释放,而c++中是要释放的,释放的格式如下
delete []buffer; //释放的时候不需要指明释放多少个字节,仅需要在数组名前加[]就可以了
(5)命名空间
命名空间格式:
namespace 命名空间名字
{
int data ; //空间中的内容
...........
};
如果想要使用空间中的内容可以这么写
命名空间名字::data; //::为所属符,说明这个变量属于某个命名空间
如果嫌麻烦,那就在前面加上下面这句话,在使用空间的内容时就可以不写所属符了
using namespace 命名空间名字;
(6)引用
引用的格式:
数据类型 &引用名 = 变量名(引用名前的数据类型一定要跟变量的类型一致)
int a = ;
int &b = a; //b是a的引用(或者说b是a的别名)
注意:b是a的引用的时候,b的值改变,a也会跟着改变,或者可以看成b是一个指向a中值的指针,这样子可能更容易接受。
比如:
#include <iostream> using namespace std; int main()
{
int a = ;
int &b = a;
cout<<"b:"<<b<<endl;
b = ;
cout<<"a:"<<a<<endl;
return ;
}
输出如下:
b:100
a:50
这里还需要注意的是,如果变量是const修饰的, 那么引用必须用const修饰
const int n=;
const int &m=n;
c++基础第一篇的更多相关文章
- 接口测试基础——第一篇smtplib发送文字邮件
现在我们就开始进入接口测试框架的知识准备阶段,今天是第一篇,很简单的,就是发送纯文字的电子邮件,会的童鞋可以忽略,不会的就多敲几遍,直到自己能敲出来为止~~ # coding: utf-8 impor ...
- XML基础<第一篇>
一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...
- FFmpeg深入分析之零-基础 <第一篇>
FFmpeg是相当强大的多媒体编解码框架,在深入分析其源代码之前必须要有基本的多媒体基础知识,否则其源代码会非常晦涩难懂.本文将从介绍一些基本的多媒体只是,主要是为研读ffmpeg源代码做准备,比如一 ...
- Java笔记(基础第一篇)
一.初识java 1.Java是一种可以编写跨平台的.面向对象的程序设计语言. Java开发分成以下3个方向: (1). java SE:主要用于桌面程序的开发.是java EE和java ME的基础 ...
- Django基础第一篇
目录 1.Django MTV框架简介 2.基础命令创建项目的配置说明 3.前后端交互案例 4.基于数据库实现数据交互增删改查 Django简介 Django框架的设计模式借鉴了MVC的思想,和MVC ...
- Python基础第一篇
一.第一句python代码 1.python执行过程:1.加载内存-词法分析-语法分析-编译-执行 2.创建hello.py文件,输入内容 #!/usr/bin/env python print &q ...
- Flask框架基础--第一篇
1.flask框架和其他几种框架的优缺点对比 Django : 优点 - 大而全所有组件都是有组织内部开发高度定制化 教科书级别的框架 缺点 - 大到浪费资源,请求的时候需要的资源较高 Flask : ...
- Python基础第一篇-------python的介绍
一.python的介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本 ...
- CSS基础第一篇:图片插入<img>,文本空格
好家伙,这波是被迫回归基础 <img src="" alt=""> img代表"图像",它是图像在页面上显示.src代表&quo ...
随机推荐
- Centos7安装percona-xtrabackup2.4和8.0版本
Percona XtraBackup是一个基于MySQL的服务器的开源热备份实用程序 ,它不会在备份期间锁定您的数据库.无论是24x7高负载服务器还是低事务量环境,Percona XtraBackup ...
- DDR基础知识
1.前言 DDR的全称为Double Data Rate SDRAM,也就是双倍速率的SDRAM,SDRAM在一个CLK周期传输一次数据,而DDR在一个CLK周期传输两次数据,分别在上升沿和下降沿各传 ...
- SpringDataRedis简单入门介绍
1:问题引入 在实际开发中,开发的每一个项目,每天都有大量的人访问,对数据库造成很大的访问压力,甚至是瘫痪.那如何解决呢?我们通常的做法有两种:一种是数据缓存.一种是网页静态化.我们今天讨论第一种解决 ...
- PHP高级进阶梳理
基础篇 1.深入理解计算机系统 2.现代操作系统 3.C程序设计语言 4.C语言数据结构和算法 5.Unix环境高级编程 6.TCP/IP网络通信详解 7.Java面向对象编程 8.Java编程思想 ...
- 第五篇 openvslam建图与优化模块梳理
建图模块 mapping_module在初始化系统的时候进行实例化,在构建实例的时候会实例化local_map_cleaner和local_bundle_adjuster.系统启动的时候会在另外一个线 ...
- ASP.NET Core快速入门(第3章:依赖注入)--学习笔记
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务16:介绍 1.依赖注入概念详解 从UML和软件建模来理解 从单元测试来理 ...
- Python 摘要算法hashlib 与hmac
参考链接:https://www.liaoxuefeng.com/wiki/1016959663602400/1017686752491744 摘要算法(也成为哈希算法)是用来防篡改的,因为我们的即使 ...
- Windows 下MongoDB复制集配置
1.下载服务.https://www.mongodb.com/ 点击products 下拉第二列MongoDB server 选择 4.0.6 2.下载下来后 有限管理员运行 一路安装,可以不用 ...
- Vim操作:打开文件
1.打开文件并定位到某一行 vim +20 vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php # 定位至第20行 2 ...
- 解决使用elementUI框架el-upload跨域上传时session丢失问题
解决方法一: 1.使用elementUI框架el-upload跨域上传时,后端获取不到cookie,后端接口显示未登录,在添加了 with-credentials="true"后依 ...