专栏首页PHP修行之路c++ 学习笔记(一)

c++ 学习笔记(一)

数据类型

  • typedef 声明

为一个已经存在的类型重新定义一个名称

#include <iostream>
using namespace std;

int main(){
    typedef int hello;
    hello a = 10;
    cout << a;
    return 0;
}

将int类型冲洗定义一个名称 hello,只是起了一个新的名字原来的还是可以继续使用的

  • 枚举类型
#include <iostream>
using namespace std;

int main(){
    enum color {red,green=10,blue} c;
    c = blue;
    cout << c;
    return 0;
}

如何为变量c赋的值不是enum中的值时则会报错

声明变量

  • extern 关键字

extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义

main.cpp

#include <iostream>
using namespace std;
extern int a;

int main(){
    cout << a;
    return 0;
}

  test.cpp

#include <iostream>
using namespace std;

int a = 20;

结果输出 20

定义常量

  定义常量可以使用两种方式 #define const 两者的区别在于:

  1.类型检查不同,#define 不会检查常量的类型而只是单纯的将常量替换为预先定义的值;const 定义常量时需要指定常量的类型

  2.#deifne 定义的常量可以使用 #undef 来取消,但是const定义的常量不能更改

  3.定义域不同 #define 定义好的常量不受定义域限制 const 定义的常量有定义域的限制

#include <iostream>
using namespace std;

void declam(){
    #define COUNT 20
    const int SUM = 10;
}

int main(){
    cout << COUNT;
    cout << SUM <<endl; //error: 'SUM' was not declared in this scope
    return 0;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数据结构 | 每日一练(114)

    ——老子

    闫小林
  • malloc函数分配内存失败的常见原因

    malloc()函数分配内存失败的常见原因: 1. 内存不足。 2. 在前面的程序中出现了内存的越界访问,导致malloc()分配函数所涉及的一些信息被...

    用户1215536
  • VC++6.0单文件版及安装版,希望能帮助到需要的童鞋!

    相信很多的大家能看到这篇文章的童鞋要么是学生,要么是学习语言汇编的。嗯大部分都是学生,号主我也是从学生时代过来的,在大学期间相信大家都有学习一门叫做C语言的课程...

    FreeRonin
  • 【刨根问底】java静态

    由于今天一个小伙伴问静态static修饰的方法怎么使用,于是联想到,如果你还不会使用或者只是停留在使用层面,那么这里告诉你,静态可没你想的那么简单,比如下面的这...

    用户4143945
  • hash操作

    如果只需要存储元素(或者删除重复元素),无需其他信息,则使用集合,python和c++都是使用set。

    木又AI帮
  • 23岁的Python,这些年在编程语言排行榜上直线上升的原因是什么?很多人都不解

    python这些年在编程语言排行榜上名次一直在上升,这个并不是偶然。python发展了几十年,中间好长一段时间无人问津,现在已经发展很成熟了,像新的语言go很多...

    一墨编程学习
  • QML知识-使用Qt信号和方法

    在实际中开发QML应用,会经常用到信号这一属性。像onClicked,onDoubleClicked是异步操作,它们多由信号触发完成。有时候需要与Qt/...

    Qt君
  • 【快学springboot】6.WebMvcConfigurer配置静态资源和解决跨域

    有个朋友说:为什么我配置了WebMvcConfigurer,静态资源static依然能访问?!

    Happyjava
  • C++的类型转换

    (1) static_cast会在编译的过程中进行安全性检查, 相对与dynamic_cast是静态转换;

    Qt君
  • 水平滚动条

    主要用到并排Div 的父级设置white-space: nowrap,并排的div设置display:inline-block;

    tianyawhl

扫码关注云+社区

领取腾讯云代金券