这是我写的第一个博客关于C++的一些笔记,我不会写的太深奥,因为这样很多人会看不懂(我刚开始学C语言深受其害)。个人觉得C++这门语言有些类似于C语言但是有些函数的用法还是有不一样的。C语言中的头文件是#include<stdio.h>,C++的头文件为#include<iostream>(偶尔还会用到stdio.h的头文件,C++一般写法为#include<cstdio>)。

 #include<iostream>
#include<cstdio>
#include<string>
using namespace std;//此声明代表了能使用std中所有的东西

上面这个代码中stdio.h是以往的C和C++的头文件,cstdio是标准C++,而且cstdio中的函数都是定义在一个名称空间std里面的,如果要调用这个名字空间的函数,必须得加std::或者在文件中声明using namespace std;string这个头文件是储存了字符以及字符串的一些相关操作的函数,等一下会在文章的下面列举几个很常见的函数。想学写C++的同学先把C语言基础打好,不然到后面会很麻烦的(本人亲测)。

在C语言中输入输出是scanf和printf,而在C++中则改成了cin和cout。和前者类似,它们也都存储在头文件中,需要值得注意的是<<和>>的区分:输入为cin>>a;(输入一个a)输出为cout<<"com="<<a<<endl;(输出的结果为com=a)

    cin>>a;
cout<<"com="<<a<<endl;

了解了输入输出,我们接着来讲这个namespace的特点。上述代码中namespace可以作为命名空间使用,可以在同一个工程里调用该空间里的所有变量(但是当namespace是无命名空间的时候,则不能在同一个工程下其他文件调用)。看下面代码可以自己试着运行一下,A::i的意思是调用命名空间中变量i的值并且打印出来。

int i=;
namespace A{
int i=;
int n;
}
int main(){
int i=;
cout<<"A::i为命名空间变量"<<""<<A::i<<endl;//输出结果为2
cout<<"::i为全局变量"<<""<<::i<<endl;//输出结果为1
cout<<"局部变量i的值是"<<""<<i<<endl;//输出结果为3
}

记住这几个用法:直接写i是局部变量打印::i是全局变量A::i是命名空间的变量。这样写的好处是防止变量重名导致代码歧义。同时命名空间也可以镶嵌套用,就比如s1=>s2当作s1在命名空间内,那么我要调用s1中的变量i的值直接就写成s2::s1::i就行了。如果一个命名空间的一个函数我们需要用很多次怎么办?

using A::n;该只要声明一次就可以在程序中使用变量n而不发生报错;using namespace A;这段代码声明使A这个命名空间的参数都可以修改;感兴趣的同学可以参考下面的代码自己在调试一下。

    using A::n;
n=;
using namespace A;//使A这个名字空间的所有参数可以修改
cout<<"n="<<n<<endl;

刚开始学差不多就是这几种语法,后面陆陆续续我会补充一些新学的内容在我的博客里。后面还有什么C++的结构体、联合体、枚举和重载等等。

如果代码或者是那些地方理解有问题呢希望同学或者前辈能帮我指出来。

【C++初学者自学笔记一】(把自己刚学到的东西做一下总结,如果有哪些地方不足请留言指正)的更多相关文章

  1. 初学者自学笔记-this的用法

    请注意:这是自学者的笔记,只是个人理解,并非技术分享,如有错误请指正. "this"的意思,简单而言,就是"这个",也就是"当前".谁调用它 ...

  2. 【C++初学者自学笔记三】哑元函数、缺省参数、内联函数(模块二,PS:需要用到重载函数)

    一,哑元函数:一个函数的参数只有类型没有名字的则这个参数称之为哑元.类似于void fun(int); 功能:1保持向前的兼容性,比方说我们需要做成一个成品,然后成品是会不断的更新第一代第二代,当我们 ...

  3. 【C++初学者自学笔记二】函数重载(模块一)

    1.概念:同意作用域的一组参数列表不同,函数名相同的函数,这组函数叫函数重载(C语言是不能定义相同名称的函数,但是C++可以允许定义). 2作用:重载函数通常来命名一组功能相似的函数,这样做减少了函数 ...

  4. JAVA自学笔记05

    JAVA自学笔记05 1.方法 1)方法就是完成特定功能的代码块,类似C语言中的函数. 2)格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,-){ 函数体; return ...

  5. JAVA自学笔记06

    JAVA自学笔记06 1.二维数组 1)格式: ①数据类型[][]数组名 = new 数据类型[m][n]; 或 数据类型[]数组名[]=new 数据类型[m][n]; m表示这个二维数组有多少个一维 ...

  6. 《Linux就该这么学》自学笔记_ch22_使用openstack部署云计算服务环境

    <Linux就该这么学>自学笔记_ch22_使用openstackb部署云计算服务环境 文章主要内容: 了解云计算 Openstack项目 服务模块组件详解 安装Openstack软件 使 ...

  7. 《Linux内核设计与实现》课本第四章自学笔记——20135203齐岳

    <Linux内核设计与实现>课本第四章自学笔记 进程调度 By20135203齐岳 4.1 多任务 多任务操作系统就是能同时并发的交互执行多个进程的操作系统.多任务操作系统使多个进程处于堵 ...

  8. 《Linux内核设计与实现》课本第三章自学笔记——20135203齐岳

    <Linux内核设计与实现>课本第三章自学笔记 进程管理 By20135203齐岳 进程 进程:处于执行期的程序.包括代码段和打开的文件.挂起的信号.内核内部数据.处理器状态一个或多个具有 ...

  9. 《Linux内核设计与实现》课本第十八章自学笔记——20135203齐岳

    <Linux内核设计与实现>课本第十八章自学笔记 By20135203齐岳 通过打印来调试 printk()是内核提供的格式化打印函数,除了和C库提供的printf()函数功能相同外还有一 ...

随机推荐

  1. Go 语言 fmt.Sprintf (格式化输出)

    Printf().Sprintf().Fprintf() 函数的区别用法是什么? 都是输出格式化字符串,只是输出到的目标不一样: Printf() 是把格式化字符串输出到标准到标准输出(一般是屏幕,可 ...

  2. ztree-拖拽(排序树)

    <!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - beforeDrag / onDrag / bef ...

  3. HTML使用链接调用本地exe文件

    一,win+r打开注册表,输入regedit进入注册表 二,在注册表左边最上面HKEY_CLASSES_ROOT那个树右键新建项.该项的名称自己命名,其实该名称也是协议的名称. 我们调用的时候就是根据 ...

  4. C语言:计算输出给定数组中每相邻两个元素的平均值的平方根之和。

    //计算输出给定数组中每相邻两个元素的平均值的平方根之和. #include <stdio.h> #include <math.h> ]) { double a,b,s=0.0 ...

  5. WebRTC的音频编码(转)

    一.一个典型的IP通信模型 二.Server2Server技术分类 Server2Server这块也是一个专门的领域,这里只简单分个类. 1.同一国家相同运营商之间: 同一运营商之间也有丢包,在铁通, ...

  6. VBA 学习笔记 - 运算符

    学习资料:https://www.yiibai.com/vba/vba_operators.html 算术运算符 加减乘除模指,这个没啥特别的. 比较运算符 和 Lua 相比,判断相等变成了一个等于号 ...

  7. JavaScript位置:window&client&offset&scroll&MouseEvent&getBoundingClientRect&计算任意元素滚动条宽度

    Window: window.innerWidth:浏览器viewport视口宽,包括垂直滚动条 window.innerHeight:浏览器视口高,包括水平滚动条 window.outerWidth ...

  8. git合并分支到master上面

    转自:https://www.cnblogs.com/mafeng/p/10173919.html 假如我们现在在dev分支上,刚开发完项目,执行了下列命令 git add .git commit - ...

  9. 页面阻止某个按键的键盘事件(event.stopPropagation与event.preventDefault的区别及如何兼容IE8)

    http://blog.csdn.net/rocklee/article/details/53160656

  10. ConcurrentHashMap 结构 1.7 与1.8

    1.结构 1.7 segment+HashEntity+Unsafe 1.8 移除Segment,使锁的粒度更小,Synchronized+CAS+Node+Unsafe 2. put() 1.7 先 ...