展开

关键词

C++常

参考链接: C++, 字面和常日期:2020年3月27日 作者:Commas 注释:开始我的C++学习的奇妙之旅,愿意和我一起学习的小伙伴们可以关注我,也可以给我点赞,如若博客有哪里写的不好的地方 ,还望各位看官指出,非常感谢…… 更多C++内容,请看我的《C++学习的奇妙之旅》  文章目录 一、前言二、基本数据类型三、常(一)常的类型(1)整数常(2)浮点常(3)布尔常(4)字符与字符串常    (二)常的定义  四、(一)的定义(二)的定义并且初始化一、前言 程序中的数据包括常 常:在程序执行期间不会改的固定值,又称为字面:在程序执行期间可以改的数据, 类型读写说明常仅只读,在定义并初始化后,不可修改原值可读写,在程序运行中,可以修改值二、基本数据类型 在C++中,数据类型决定了存储的大小和布局,基本数据类型可分为以下4类: 整数类型(int +在基本数据类型中,是没有字符串的,可以采用字符串数组存储字符串的,这很C字符串风格,但是已经不鼓励使用了,不过还是要了解一下。

13940

C++】static 详解-

static修饰的话,有两点要注意。1.的存储区域在全局区,不管是在函数体内,class内,还是cpp文件内。2.的作用域在离它最近的{}内部,出了{}之外,不可以使用。 为了比较区别,在这里名都是a,发现都可以编译通过。这也就表明G++做了处理,可以区分出来不同作用域里面的。为了进一步知道原因,我编译出来了汇编,命令G++ -S *.cpp。汇编代码如下:? 从上到下,我们可以看到,不同函数内的static int a;会在前加上对应的函数名,例如:1.main函数里面的,成了_ZZ4mainE1a;2.Fun函数内的,成了_ZZ4FunvE1a ;3.全局的,成了_ZE1a;(这里没有粘贴出来,后续补上。) 经过编译器的处理之后,这些源代码中相同名字的,在编译之后便成了唯一的标识符,这也就说明了static作用域的意义了。----

18110
  • 广告
    关闭

    腾讯云前端性能优化大赛

    首屏耗时优化比拼,赢千元大奖

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    c++临时

    C++临时“有时候,在求表达式的期间,编译器必须创建临时(temporary object)。像其它任何对象一样,它们需要存储空间,并且必须能够构造和销毁。 需要注意的是,编译器创建的这个临时为常.” – Thinking in C++什么情况下编译器会创建临时看下面代码:class A{public: print(){ cout

    29960

    C++基础

    的基本形式是:首先是类型说明符,随后紧跟有一个或者多个的名组成的列表,其中含有多个名时用逗号隔开,最后以分号结束。 int sum = 0;string first_name,last_name;命名规范: (1)名称一般用小写字母 (2)自定义的类名一般首字母大写 (3)如果名由多个单词组成,则单词之间最好有明显区分引用引用是为对象起了另外一个名字 Student student(baxiang,26); Student &refStudent = student; student.show(); refStudent.show();声明为引用的必须初始化 string name = test; string &rName = name; string &othName = rName;指针与引用类似,指针也同样实现了对其他对象的一个间接访问,定义指针的方式是在前面在上星号

    14210

    C#到TypeScript -

    C#到TypeScript - TypeScript的声明和ES6差不多,相比之前主要是多了let和const为什么不用var不管是TypeScript还是ES6都会兼容以前的javascript 虽然C#里也有var,但和JavaScript的可不一样,var在javascript里会有一些奇怪的表现,比如会置前,而且作用域是整个函数,可以不写var来声明,然后成全局。 使用let声明let主要是对var的一个代替,用let更符合人思考的过程,这才和C#var的功能是差不多。 constC#也有const,意义上差不多,都是常,不想被改。 const str = string;str = new string; 编译不了一般情况下,主张确定不用const声明来增加代码健壮性和可读性。

    23560

    C++ 条件(condition_variable)

    condition_variable是一个类,搭配互斥mutex来用,这个类有它自己的一些函数,这里就主要讲wait函数和notify_*函数,故名思意,wait就是有一个等待的作用,notify就是有一个通知的作用 那么notify_all()函数的作用就是可以唤醒所有的线程,但是最终能抢夺锁的只有一个线程,或者说有多个线程在wait,但是用notify_one()去唤醒其中一个线程,那么这些线程就出现了去争夺互斥的一个情况 include #include #include std::mutex mtx; 全局互斥锁std::queue que; 全局消息队列std::condition_variable cr; 全局条件

    4K10

    C++局部与全局 | 输出局部全局

    C++局部 C++局部是指:在一个函数内部定义的,它只在本函数范围内有效,也就是说只有在本函数内才能使用它,在此函数以外是不能使用这些的。 不同函数中可以使用同名的,它们代表不同 的对象,互不干扰。 可以在一个函数内的复合语句中定义,这些只在本复合语句中有效。 形式参数也是局部C++全局 C++全局:是指在函数之外定义的,如下: #include头文件 using namespace std;命名空间 int global_Variable;我是全局 int  读者需要了解一点:如果在同一个源文件中,全局与局部 同名,则在局部的作用范围内,全局被屏 蔽,即它不起作用,设全局的作用是增加函数间数据联系的渠道。  经典案例:C++输出局部与全局

    842828

    C++临时的常

    1.认识临时的常性关于临时的常性,先看一段代码。void print(string& str){ cout

    58231

    C++定义指针 | 使用指针

    C++指针的定义 C++规定所有在使用前必须先定义,即指定其类型,在编译时按类型分配存储空间,对指针 必须将它定义为指针类型。 int就是指针的基类型,指针的基类型用来指定该指针可以指向的的类型。  即*不是指针名的一部分,在定义时在名前加一个*表示该是指针。在C++中怎样使一个指针指向另一个呢? 只需要把被指向的的地址赋给指针即可:point_num1=&i;在C++中,一般编译系统为每一个指针分配4个字节的存储单元,用来存放的地址, 在定义指针时要注意: 不能用一个整数给一个指针赋初值 在定义指针时必须指定基类型。经典案例:C++定义指针

    1912420

    7.4 C语言局部和全局

    01局部 1、定义的3中情况(1)在函数的开头定义。(2)在函数内的复合语句内定义。(3)在函数的外部定义。 4、主函数中定义的也只在主函数中有效,并不因为在主函数中定义而在整个文件或程序中有效。5、不同函数中可以使用同名的,它们代表不同的对象,互不干扰。6、形式参数也是局部。 02全局 1、在函数内定义的是局部,而在函数之外定义的称为外部,外部是全局2、全局可以为本文件中其他函数所共用。 3、全局的有效范围为从定义的位置开始到本源文件结束。4、设置全局的作用是增加了函数间数据联系的渠道。 5、为了便于区别全局和局部,在C程序设计人员中有一个习惯,将全局的第1个字母用大写表示(非规定)。C语言 | 输出100-200之间不能被3整除的数更多案例可以go公众号:C语言入门到精通

    1453127

    C++的引用 | 使用的引用

    C++的引用 C++可以对一个数据可以使用引用,引用是C++对C语言的一个重要扩充,引用是一种新的类型, 它的作用是为一个起一个别名。 声明change是temp的引用,可以理解为:使change具有temp的地址。 在C++中,声明一个引用类型时,必须同时使之初始化,即声明它代表哪一个,在声明change是temp的引用后,在它们所在函数执行期间,该引用类型change始终与其代表的temp 相联系,不能再作 为其他的引用。 经典案例:C++使用的引用。

    1792219

    C# 匹配可空

    C# 7.0 的时候提供更好用的模式匹配方法,支持通过 is 直接转换对应的类,但是如果是尝试转换可空的对象,那么将会提示无法编译,或转换失败在 C# 7.0 的 is 转换是十分好用的功能,例如我写了一个 如果o是bool 的时候的值: 如果不是的时候的值 所以提示的无法编译就是找不到定义的和表达式为 false 的那么现在尝试做一道题 class B { public static int operator B right) => 6; public static int operator 7; } static void Main(string[] args) { object a = null; B c = null; Console.WriteLine(a is B & c); Console.WriteLine(a is B > c); Console.WriteLine(a is B < c);

    17520

    c++ 静态持续

    c++为静态存储持续性提供了3种链接性:外部链接性(可在其他文件中访问)内部链接性(只能在当前文件中访问)无链接性(别有用心能在当前函数或代码中访问)如果没有显示的初始化静态会把它设置为0要创建链接性为外部的静态持续 ,必须在代码块外面声明它要创建链接性为内部的静态持续,必须在代码块外面声明它,并使用static限定符要创建没有链接性的静态持续,必须在代码块内声明它,并使用static限定符用一个代码片段说明这 3种int global  =100静态持续  外部链接性static int one_file=50静态持续 内部链接性int main(){}void fun1(){     static int

    226100

    C++ 命名标准

    11850

    MySQL 系统(system variables)

    MySQL系统(system variables)实际上是一些系统参数,用于初始化或设定数据库对系统资源的占用,文件存放位置等等。 这些个系统可以分为全局以及会话级别层面来修改,有些也可以进行动态修改。本文主要介绍了系统的一些概念以及如何设置查看这些系统。 生效周期:全局全局可见,但只影响在更改后连接的从该全局初始化相应会话的客户端。当前会话及已登录的会话不受影响。    b、检索设置      要想检索一个GLOBAL的值,使用下面的语法:       mysql> SELECT @@global.sort_buffer_size;       mysql> SHOW c、其他注意事项      当你用SELECT @@var_name搜索一个时(也就是说,不指定global.

    56620

    C++自动 | 输出自动和整型

    C++自动 C++中自动用关键字auto作存储类别的声明,C++中绝大多数属于自动C++函数中的局部,如果没有用关键字static声明,编译系统对它们是动态地分配存储空间的。 函数的形参和在函数中定义的都属此类。 在调用该函数时,系统给形参和函数中定义的分配存储空间,数据存储在动态存储区中,在函数调用结束时就自动释放这些空间。 如果是在复合语句中定义的,则在定义时分配存储空间,在复合语句结束时自动释放空间。 存储类别auto和数据类型int的顺序任意。 经典案例:C++实现用自动定义整型数据并输出。 源码分析: #include头文件 using namespace std;命名空间 int main() 主函数 {  auto int num1;定义自动整型   int num2;定义整型

    1972828

    C++总结束 | 输出各种的值

    C++register寄存器 除了数据类型以外,还有3种属性:  存储类别,C++允许使用auto,static,register和extern4种存储类别。 局部 自动,,即动态局部 动态局部 寄存器 形式参数 全局 静态外部 外部存储期来区分,有动态存储和静态存储两种类型 动态存储  自动 寄存器 形式参数  静态存储 静态局部 静态外部 外部值存放的位置来区分,可分为  内存中静态存储区  静态局部 静态外部 外部 内存中动态存储区,自动和形式参数 。 C++中一个函数一般由:声明部分、执行语句两部分组成,声明部分的作用是对有关的标识符的属性进行说明,对于函数,声明和定义的区别是明显的,函数的声明是函数的原型,而函数的定义是函数功能的确立。 对而言,声明与定义的关系稍微复杂一些。在声明部分出现的有两种情况:一种是需要建立存储空间的;另一种是不需要建立存储空间的。 经典案例:C++输出各种

    742828

    C语言 | 改指针的值

    例35:C语言编程实现改指针的值。解题思路: 指针p的值是可以化的,printf函数输出字符串时,从指针p当时所指向的元素开始,逐个输出各个字符,直到遇‘0’为止。 而数组名虽然代表地址,但是它是常,它的值是不能改的。 源代码演示:#include头文件 int main()主函数 {  char *p=I love C program language;定义指针且赋值   p=p+7;指针p指向字符串的第8位 ;数组名虽然代表地址,但是它是常,值不能改。 p=p+7;虽然是+7,但是在C语言中,下标是从0开始的。C语言 | 改指针的值更多案例可以go公众号:C语言入门到精通

    1652419

    C语言 | 指向结构体的指针

    例40:C语言实现通过指向结构体的指针输出结构体中的信息。 解题思路:在主函数中声明了struct student类型,然后定义了一个struct student类型的s_1,又定义了一个指针p,它指向一个struct student类型的对象,将结构体 s_1的起始地址赋给指针p,也就是使p指向s_1,然后对s_1的各个成员赋值。    struct student *p;定义结构体指针   p=&s_1;将s_1得地址赋给指针   s_1.num=10010;赋值   strcpy(s_1.name,yan);复制    怎么通过指向结构体的指针访问结构体中成员?C语言 | 通过指向结构体的指针输出结构体中的信息更多案例可以go公众号:C语言入门到精通

    1112218

    C++ 和复合类型

    前面说了C++的基本数据类型,下面来看看在C++中如何定义和常定义和初始化C++定义的方式和C语言一样,也可以在定义的同时初始化。 值得一提的是列表初始化,在原来的C++版本中可以用于初始化数组等。C++ 11标准增加了更广泛的列表初始化,所以可以用列表初始化来初始化单个。 定义int a;定义并初始化int b = 1;同时定义多个int c = 5, d = 6;C++ 11 新特性:列表初始化int e{3};列表初始化有一个限制,如果要初始化的值超过了可容纳的范围 对于全局,如果没有给定初始值,默认值是0。定义和声明定义告诉编译器,我要创建一个,以后再用它。而声明告诉编译器,我要引用一个,所以你先按照这个的类型和名字去找它。 如果有一个全局,然后在某个作用域中又定义了一个同名,那么这个局部就会屏蔽对全局的访问。如果希望访问全局,需要使用域操作符::来指定。

    416100

    相关产品

    • 云数据库 MySQL

      云数据库 MySQL

      腾讯云数据库MySQL是一种高性能、高可靠、高安全、可灵活伸缩的数据库托管服务,其不仅经济实惠,而且提供备份回档、监控、快速扩容、数据传输等数据库运维全套解决方案,为您简化 IT 运维工作,让您能更加专注于业务发展。

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭

      扫码关注云+社区

      领取腾讯云代金券