前言:我是从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++基础第一篇的更多相关文章

  1. 接口测试基础——第一篇smtplib发送文字邮件

    现在我们就开始进入接口测试框架的知识准备阶段,今天是第一篇,很简单的,就是发送纯文字的电子邮件,会的童鞋可以忽略,不会的就多敲几遍,直到自己能敲出来为止~~ # coding: utf-8 impor ...

  2. XML基础<第一篇>

    一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...

  3. FFmpeg深入分析之零-基础 <第一篇>

    FFmpeg是相当强大的多媒体编解码框架,在深入分析其源代码之前必须要有基本的多媒体基础知识,否则其源代码会非常晦涩难懂.本文将从介绍一些基本的多媒体只是,主要是为研读ffmpeg源代码做准备,比如一 ...

  4. Java笔记(基础第一篇)

    一.初识java 1.Java是一种可以编写跨平台的.面向对象的程序设计语言. Java开发分成以下3个方向: (1). java SE:主要用于桌面程序的开发.是java EE和java ME的基础 ...

  5. Django基础第一篇

    目录 1.Django MTV框架简介 2.基础命令创建项目的配置说明 3.前后端交互案例 4.基于数据库实现数据交互增删改查 Django简介 Django框架的设计模式借鉴了MVC的思想,和MVC ...

  6. Python基础第一篇

    一.第一句python代码 1.python执行过程:1.加载内存-词法分析-语法分析-编译-执行 2.创建hello.py文件,输入内容 #!/usr/bin/env python print &q ...

  7. Flask框架基础--第一篇

    1.flask框架和其他几种框架的优缺点对比 Django : 优点 - 大而全所有组件都是有组织内部开发高度定制化 教科书级别的框架 缺点 - 大到浪费资源,请求的时候需要的资源较高 Flask : ...

  8. Python基础第一篇-------python的介绍

    一.python的介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本 ...

  9. CSS基础第一篇:图片插入<img>,文本空格

    好家伙,这波是被迫回归基础 <img src="" alt=""> img代表"图像",它是图像在页面上显示.src代表&quo ...

随机推荐

  1. 集成Azure DevOps Server(TFS) 与微软Teams

    1.概述 Microsoft Teams是Office 365中团队协作的中心.将团队的所有聊天.会议.文件和应用程序放在一个位置.软件开发团队可以在一个专门的协作中心中即时访问他们所需的所有内容,T ...

  2. (三十)golang--面向对象

    首先我们要明确: golang并不是纯粹的面向对象的编程语言: golang没有类class,使用struct代替: golang面向对象编程非常简洁,去掉了传统的继承.重载.构造函数和析构函数.隐藏 ...

  3. Leetcode练习题Remove Element

    Leetcode练习题Remove Element Question: Given an array nums and a value val, remove all instances of tha ...

  4. navicat远程连接mysql的方法

    navicat远程连接mysql的方法1 先在打开phpmyadmin 添加用户 用户名和密码自己设置 设置如下 2 关闭防火墙service iptables status可以查看到iptables ...

  5. XML与DataTable相互转换

    1.DataTable转XML #region DataTableToXml /// <summary> /// 将DataTable对象转换成XML字符串 /// </summar ...

  6. jdk-8u151-nb-8_2-windows-x64软件安装教程及环境配置

    1.双击jdk-8u151-windows-x64.exe文件 2.进入安装向导 3.配置环境变量 (1)计算机→属性→高级系统设置→高级→环境变量 (2)系统变量→新建 JAVA_HOME 变量 . ...

  7. css3的user-select属性设置文本内容能否被选择

    CSS3中提供了个user-select属性来设置或检索是否允许用户选中文本. 语法 user-select:none | text | all | element. 默认值:text. 适用性:除替 ...

  8. jre、jdk、jvm之间的关系

    很多Java的程序员在写了很多代码之后,你问他JRE和JDK是是什么关系,JVM又是什么东西,他是不知道的. JVM(Java Virtual Machine) Java 虚拟机.它只认识 xxx.c ...

  9. 一个JAVA应用启动缓慢问题排查 --来自jdk securerandom 的问候

    开发某个项目过程中,就需求,搭建了一套测试环境.很快完成! 后来代码中加入了许多新功能,会涉及到反复重启,然后就发现了启动特别慢.这给原本功能就不多的应用增添了许多的负担. 我决定改变这一切!找到启动 ...

  10. 使用SolrJ客户端管理SolrCloud(Solr集群)

    1.使用SolrJ客户端管理SolrCloud(Solr集群). package com.taotao.search.service; import java.io.IOException; impo ...