摘要:
定义:寻找与所用名字最匹配的声明的过程 1. 首先,在名字所在的块中寻找其他声明语句,只考虑在名字的使用之前出现的声明(确认是否是局部变量) 2. 如果没找到,继续查找外围作用域,继续向其他地方扩散寻找,确认是否是全局变量 3. 如果最后还是没有找到,那么程序会报错 对于定义在类内部的成员函数来说, 阅读全文
摘要:
在大多数表达式中,比int类型小的整型值首先提升为较大的整数类型, 在条件中,非bool值转化为bool值 初始化过程中,初始值转换成变量的类型,在赋值语句中,右侧运算对象转换成左侧运算对象的类型 如果算术关系或运算关系的对象有多种类型,需要换换成同一种类型,函数调用也会发生类型转换 阅读全文
摘要:
与大多数语言一样,C++也是类型决定了能对该对象进行的操作,一条表达式是否合法依赖于其中参与运算的对象的类型,C++是一种静态数据类型语言,它的类型检查发生在编译时, 因此编译器知道程序中每一个变量对应的数据类型,C++定义了几种基本内置类型,如字符,整型,浮点数等,同时也为程序员提供了自定义数据类 阅读全文
摘要:
当一个无符号类型与int或更小的整型混合使用时,结果类型是无符号类型,有时可能导致负数丢失符号位,所以避免使用无符号类型(除非必要),以免增加不必要的复杂性, 尤其是不要仅仅因为无符号不存在负值(如年龄,国债等)而用它来表示数量 阅读全文
摘要:
实际上bool型变量占用了一个字节的内存,当值为false的时候,实际存储的是0x00,为true时实际存储的是0x01,因此可以作为int整型使用 bool型只分0与非0,0为false,其余的包括负数在内都是true 阅读全文
摘要:
在类的外部定义成员函数时函数的定义必须与声明匹配,也就是说返回类型,参数列表,函数名都得与类内的声明保持一致,如果成员函数被声明为常量成员函数, 那么它的定义也必须在参数列表后面明确指定const,类外部定义的成员名字必须包含类名,const一般位于声明或定义的最后 bool withline() 阅读全文
摘要:
实际应用中大部分的类都是定义在头文件中,且一个头文件一般都只定义一个类,这样做不仅代码简洁,逻辑清楚其实还有一个好处就是保持类的定义一致 类可以在函数体内定义,但是在函数体内定义的类即局部类受到了一些限制,所以类一般都不定义在函数体内; 在函数体外定义类时,在各个知道的源文件中可能只有一处该类的定义 阅读全文
摘要:
类命名规范:首字母大写,和本程序密切相关的类(非可重用类),类名前要加上一个特定的大写字母(初步决定为此程序名的第一个字母),同QT官方类的命名方式 如 class STA_SETUPMAIN 函数命名规范:使用驼峰命名法,即首字母小写,后面的每个单词的首字母大写,示例:void openFile( 阅读全文
摘要:
头文件的格式: 开头两行与结尾一行是防止文件重复包含的,也仅仅是防止文件被重复包含,是无法防止变量被重复定义的, 之后是在此头文件下包含的其他头文件, 假如使用了前向声明,那么在头文件的下方紧接着就可以 class这些类了, 如果不打算在qml中调用C++的枚举的话,枚举可以接着前向声明写, 这里是 阅读全文
摘要:
C++语言提供了两种字符串的实现:C风格的字符串,以'\0‘结尾;std::string,即标准模版库中的类。Qt则提供了自己的字符串实现:QString,QString不用担心内存分配以及关于'\0'结尾的这些注意事项 另外,与C风格的字符串不同,QString中间是可以包含'\0'符号的,而le 阅读全文