《C++ GUI Qt4 编程(第二版)》——读书心得

《附录D》

C++入门

可以在同一个.cpp文件中实现多个类,也可以把一个类的实现分散到多个.cpp文件中

    int main(int argc, char *argv[])   //argc:argument count,argv:argument value

Argv[0]存放程序的名字,argv[1]、argv[2]、......、argv[argc-1]存放命令行参数

头文件(header file): 将函数原型放到一个单独的文件中,在需要调用这个函数的所有编译单元中包含该文件。

形式:

  #ifndef  XXX_H
  #define  XXX_H
  ......
  #ENDIF

#include<XXX>:尖括号表明头文件XXX位于系统的标准位置

#include”XXX”:在当前目录下查找头文件XXX

头文件不是编译单元,不会产生目标文件,只包含一些让不同编译单元能够相互联系的声明。

可执行程序 连接很多库

静态库:可直接放进可执行程序(就像目标文件一样)

动态库:(共享库/DLL) 位于用户机器的标准位置,在应用程序启动时自动加载

基本数据类型

内置类型的实例不会默认初始化。

Qlonglong、QChar

QDataStream类用于存储与平台无关的二进制数据

类划分为三段:public、protected、private 没有定义段则默认为private段

内联函数(inline)调用一个声明为内联函数的函数时,编译器只是简单的扩展其函数体,不会生成实际的函数调用==>(更快速)

只有非常简短的函数才应该实现为内联函数

C++没有为所有的类提供一个可以继承出来的一般类Object

纯虚函数 == “接口”

C++不允许在类定义中初始化成员变量

类变量、实例变量

每一个静态成员变量都必须定义在.cpp文件中

指针

堆(heap)

栈(stack)

悬摆指针(dangling pointer)   “智能”指针:QPointer<T>

类的常量指针只能用于调用常量成员函数

Qt中“写时复制”(copy on write)

引用

C++中的引用存储一个对象的地址,与指针的不同在于:

1. 声明:使用“&”而不是“*”;

2. 必须初始化,后面不能再次被重新赋值;

3. 可直接访问与引用相关联的对象;

4. 不能为空(null)

数组

std::memcpy()  可以复制一块内存中的数据

创建可变大小数组:

1. 动态分配该数组

2. 使用std::vector<T>类

        #include<vector>
        std::vector<int> array(n);

3. 使用Qt的QVector<T>类

        #include<QVector>
        QVector<int> array(n);

模板类:在类名字中包含<>的类

字符串

C++中,字符串的文字是以隐式“\0”结束符结尾的简单常量字符数组

QString

枚举

有时,枚举用于声明整型常量,这时通常忽略枚举的名字:

    Enum{
        Monday = 1;
    }

又有时,枚举用于表达选项的集合,用一个以2的幂次方为值的枚举常量来表示各个选项,每个选项通常被称为“标记”(flag),可以使用按位运算符“|”或“|=”来组合这些标记,可以用按位运算符“&”测试是否选中了某个标记。

类型别名

类型转换

Static_cast<T>() 将指向A的指针转换为指向B的指针,类B必须为类A的子类

Dynamic_cast<T>() 运行时类型信息(RTTI,runtime type information)验证

Const_cast<T>() 添加/移出对指针或引用的const限定

Reinterpret_cast<T>() 将任意类型的指针或引用转换为任意的其他类型

数据类型 void * 可以存储任意类型的实例的地址

关键字explicit 用于禁用自动转换功能

运算符重载

值类型

值类型(value type)、引用类型(reference type)

C++中所有类型都可用作“引用类型”

如果要让某个C++类具有可复制性,必须保证类有一个复杂构造函数(copy constructor)和一个赋值运算符。在定义一个类时C++编译器会自动提供一个复制构造函数和一个赋值运算符,用于执行成员到成员的复制。

全局变量和全局函数

  未完待续。。。。

时间: 2024-12-19 01:01:50

《C++ GUI Qt4 编程(第二版)》——读书心得的相关文章

《大数据时代的历史机遇》读书心得

作者:易仔阿克    时间:2014-08-06 博文标题:<大数据时代的历史机遇>读书心得 大数据资产价值评估模型:规模.颗粒度.多维度.关联性.活性.前四个侧重从空间角度,最后一个侧重在时间角度.规模是指数据的多少,数据量当然是越大越好.颗粒度只是数据的粒度,当然是数据粒度越细越好,粒度越细越便于分析.多维度是指数据视角多少,当然是维度越多越好,这样便于从多个视角查看.关联性是指属于与其它数据的关系,关联越多越好,越能够发现规律.活性是指数据的更新频率,数据活性越大,越能够实时地反映事物的

《大数据时代的历史机遇-产业变革与数据科学》读后感

这本书,帮助我初步完成了大数据探索之旅.大数据,并不是那么简单,她是一种思维方式,更是一种新的商业模式,是需要社会各界关注的大事件. 新的时代,是信息通信高度发达的时代,是信息无孔不入的时代.在具备自身核心竞争力的同时,对外分享.合作是企业生存和发展的唯一途径.经过多年互联网战国时代的厮杀,市场中逐步确立了"终端+平台+应用"的商业模式,谁能够控制终端,谁就掌握的用户入口,谁就抢得了先机.谁能够为用户提供个性化服务,谁就能够拥有客户,在长尾中赚足利润.而平台作为终端和应用的中枢,可以整

《大数据时代》读书笔记

大数据开启了一次重大的时代转型.就像望远镜让我们能够感受宇宙,显微镜让我们能够 观测微生物一样,大数据正在改变我们的生活以及理解世界的方式,成为新发明和新服务的源 泉,而更多的改变正蓄势待发-- 大数据的精髓在于我们分析信息时的三个转变,这些转变将改变我们理解和组建社会的方法. 第一个转变就是,在大数据时代,我们可以分析更多的数据,有时候甚至可以处理和第一个转变就是,在大数据时代,我们可以分析更多的数据,有时候甚至可以处理和 某个特别现象相关的所有数据,而不再依赖于随机采样. 某个特别现象相关的

移动大数据时代最IN编程语言必读书单

移动大数据时代最IN编程语言必读书单 这是一个快速更迭,快鱼吃慢鱼的时代.从IT 时代演变成 DT 时代,再到现在的智能时代.急速革新的各种新技术.新工具.新平台,需要程序员掌握良好的编程思想和学习方法,不断学习新技术.补充新知识,才能努力跟上时代的步伐,找到自我实现的际遇.读书依然是我们获取知识的最方便和有效的途径之一.既要读经典,也要读新书,前者让你沉淀,发现正确的方法,后者让你紧跟前沿,掌握最新的技术.可你是不是担心,不能找到真正值得读的新书而浪费时间?在此,我们汇总了当下最In的编程语言

大数据时代新闻采编人员职业能力培训

原文  http://datameng.com/info/2014/03/big-data-xinwen-caibian/ 据统计,到2013年,全世界储存的信息如果记录在光盘上,再把这些光盘叠加起来,高度等于从地球到月球的距离.美国互联网数据中心指出,目前世界 上90%以上的数据是近几年才产生的.互联网上的数据每年将增加50%,每两年翻一番.因此有学者认为,人类进入了大数据时代.一般意义上,大数据是指无 法在可容忍的时间内用传统IT技术和软硬件工具对其进行感知.获取.管理.处理和服务的数据集合

【网络大数据】大数据时代:网络营销能否颠覆传统?

大数据分析_大数据技术_大数据处理_云计算数据中心 网络大数据(www.raincent.com)整合了大数据分析,大数据处理,大数据技术,云计算数据等服务为一体,力争打造国内数一数二的网络数据处理平台. 众所周知,构成世界的三大要素为物质,能源和信息.由于互联网的迅猛发展,一场人类历史上从未有过的庞大商业变革正发生在我们面前,那就是网络营销+大数据时代. 千思传媒根据美国马萨诸塞州的EMC公司的调查报告表明,2011年全球被创建和被复制的数字总量是1.8ZB,相当于两千多亿个时长为两小时的视频

大数据时代,银行BI应用的方案探讨

大数据被誉为21世纪发展创造的新动力,BI(商业智能)成为当下最热门的数据应用方案.据资料显示:当前中国大数据IT投资最高的为五个行业中,互联网最高.其次是电信.金融.政府和医疗.而在金融行业中,银行拨得头筹,其次才是证券和保险. 如何有效应用大数据.云计算等新信息技术,创造价值和财富,创造未来,是我们面临的巨大机遇和挑战. 下面把银行大数据应用做个详细全面的介绍. 一.大数据金融应用场景 从大数据技术特性以及银行近几年的应用探索来看,大数据在银行商业智能方面的应用主要体现在以下几个方面: 1.

大数据时代—— 一个创造超级竞争力企业的时代

这是一个快速发展的时代,随着互联网的普及,数据成指数倍增长,相同类型的企业也如雨后春笋般越来越多!那么如何在这个快速发展的时代,脱颖而出,把握时代的脉搏呢?答案就是:建立自己企业的大数据!提高企业的生存和竞争力,大数据无疑是一把利剑,通过数据分析,不仅可以让你知己知彼,更可以让自己的企业决胜千里之外,使企业在与同行竞争中,更具竞争力的一大利器,用的好,甚至能碾压竞争对手.大数据近年的崛起和发展已经初现其巨大的作用,据分析拥有优秀大数据能力的企业,做出正确决策的可能性高出竞争对手3倍.决策速度比竞

CSDN专访:大数据时代下的商业存储

原文地址:http://www.csdn.net/article/2014-06-03/2820044-cloud-emc-hadoop 摘要:EMC公司作为全球信息存储及管理产品方面的领先公司,不久前,EMC宣布收购DSSD加强和巩固了其在行业内的领导地位,日前我们有幸采访到EMC中国的张安站,他就大数据.商业存储.Spark等给大家分享了自己的看法. 谈到大数据,张安站认为大数据本质上是两个根本性的问题,一个是数据很大,如何存储?另外一个是数据很大,如何分析?第一个问题,对于存储厂商来说,就

“非易失性内存”嫁接“内存计算”——高速安全的大数据时代来临

“非易失性内存”嫁接“内存计算” ——高速安全的大数据时代来临 题记 数据库奠基人Jim Gray:“磁带已经死了,磁盘已经落伍,闪存成为存储,内存才是王道”.“不管磁盘是否消融,闪存都是将来的一个趋势.” 石油一直直接影响着世累经济的发展速度和发展水平,现在,信息将发挥同样的作用.<经济学人>表示:“数据和信息日益成为商业的新能源,是一种与资本.劳动力并列的新经济元素”. 数据保护 大数据时代的机遇和挑战 大数据“风华正茂” 大数据时代,每两天的数据量就达到2ZB,相当于20世纪前人类文明所