QT学习

1.conflicting declaration

出现这个错误是项目中定义了相同变量名,找到不同定义的地方,修改变量名就可以了

2.const

  1. 限定符声明变量只能被读

  2. 必须初始化

  3. 在另一连接文件中引用const常量

  4. 便于进行类型检查

  5. 可以避免不必要的内存分配

  6. 可以通过函数对常量进行初始化

  7. 是不是const的常量值一定不可以被修改呢?

  8. 请分清数值常量和指针常量,以下声明颇为玩味:

优点:const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能会产生意料不到的错误(边际效应)

枚举常量不会占用对象的存储空间,他们在编译时被全部求值。但是枚举常量的隐含数据类型是整数,其最大值有限,且不能表示浮点数。

  1.  使用const的一些建议 
    

1 要大胆的使用const,这将给你带来无尽的益处,但前提是你必须搞清楚原委;
2 要避免最一般的赋值操作错误,如将const变量赋值,具体可见思考题;
3 在参数中使用const应该使用引用或指针,而不是一般的对象实例,原因同上;
4 const在成员函数中的三种用法(参数、返回值、函数)要很好的使用;
5 不要轻易的将函数的返回值类型定为const;
6除了重载操作符外一般不要将返回值类型定为对某个对象的const引用;

3.全局变量

在.h中定义:

public:
	static int collection_Frequency; //采集频率

在。cpp中初始化(函数外)

int MainWindow::collection_Frequency=0;

在其他函数中添加此头文件,使用变量即可
例如:

#include "mainwindow.h"
ADPara.Frequency			= MainWindow::collection_Frequency;				// 采样频率(Hz)

4.qfile的write

write中使用QByteArray类型,可以把结构体转化为QByteArray类型加入文件

   QByteArray head_buff;
   head_buff.resize(sizeof(header[Index]));
   memcpy(head_buff.data(),&header[Index],sizeof(header[Index]));
   file.write(head_buff);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值