摘要: 1、常量表达式是指值不会改变,并且在编译过程中就能得到计算结果的表达式。 2、把变量定义成constexpr的,可以让编译器来验证它是否是常量表达式,如果初始化使用了非常量表达式,那么编译器会报错。 3、声明为constexpr的变量一定是一个常量,而且必须用常量表达式来初始化。 4、尽管不能用普通 阅读全文
posted @ 2022-11-30 14:43 许卡文迪 阅读(529) 评论(0) 推荐(0)
摘要: 1、可以为const引用初始化一个非const的对象、字面值,甚至是一般表达式。 2、对引用初始化时必须严格进行类型匹配,但是const引用初始化时不需要类型匹配,只要可以转换为const所定义的类型即可,此时,const引用变量指向了一个用于类型转换的临时量,若引用为非const的,且没有进行类型 阅读全文
posted @ 2022-11-29 17:13 许卡文迪 阅读(63) 评论(0) 推荐(0)
摘要: 1、有时候要想搞清楚一条赋值语句到底是改变了指针的值还是改变了指针所指对象的值不太容易,最好的办法就是记住赋值永远改变的等号左边的对象,例如:*p=0,改变的是p所指对象的值。 2、除了const和类型转换的情形,其他所有引用都必须与所绑定类型严格匹配,引用只能与变量绑定,不能与字面值常量或某个表达 阅读全文
posted @ 2022-11-28 22:43 许卡文迪 阅读(38) 评论(0) 推荐(0)
摘要: 原因:连接了信号currentRowChanged(int)和槽,当选中其中的一行时,在调用Clear函数就会报错。 解决方法:不连接currentRowChanged(int)信号和槽,改为连接itemClicked()和槽。 阅读全文
posted @ 2022-09-23 16:50 许卡文迪 阅读(676) 评论(1) 推荐(0)
摘要: 最近基于Linux系统C语言实现音频的采集和播放,建立了两个子线程,一个通过调用snd_pcm_readi来实现采集数据,并存入FIFO中,另一个从FIFO中取数据并通过udp的sendto发送出去,由于不想频繁打开(snd_pcm_open)和关闭(snd_pcm_close)PCM设备,因此在程 阅读全文
posted @ 2022-07-29 14:30 许卡文迪 阅读(1689) 评论(0) 推荐(0)
摘要: 将shared_ptr放在一个容器中,随后又重排了这个容器,从而不再需要某些元素。 这种情况下应该用erase删除不需要的元素。 如果你将shared_ptr存放于一个容器中,而后不再需要全部元素,而只使用其中一部分,要记得用erase删除不再需要的那些元素。 阅读全文
posted @ 2022-07-25 19:19 许卡文迪 阅读(94) 评论(0) 推荐(0)
摘要: 最近用alsa库实现音频的采集和播放,遇到了如下两个问题: 1、函数snd_pcm_hw_params_set_rate_near调用失败,打印错误信息为:无效的参数,解决方法:传入的第三个参数为对代表采样率的变量取地址,此变量初始化为44100,在调用此函数前再进行一编赋值44100,则不报错,具 阅读全文
posted @ 2022-07-16 18:29 许卡文迪 阅读(492) 评论(0) 推荐(0)
摘要: 拷贝大的类类型对象或者容器对象比较低效,甚至有的类类型(包括IO类型在内)根本就不支持拷贝操作。当某种类型不支持拷贝操作时,函数之恶能通过引用形参访问该类型的对象。 当函数无需修改应用形参的值时最好使用常量引用。形参为常量引用时实参可以是常量引用或者非常量引用,形参为非常量引用时,实参只能是非常量引 阅读全文
posted @ 2022-07-06 16:26 许卡文迪 阅读(80) 评论(0) 推荐(0)
摘要: 问题描述:在Qt工程中以资源的形式添加图片,当改变图片时,发现程序运行时图片并没有随之改变。 原因:在编译路径中有一个以资源文件名称命名的.cpp,比如资源名为resource.qrc,存在一个qrc_resource.cpp文件,这个文件仍然是旧的。 解决办法:在编译路径中将.cpp文件删除,然后 阅读全文
posted @ 2022-03-23 14:45 许卡文迪 阅读(619) 评论(0) 推荐(0)
摘要: Qt程序中添加了自己生成的动态库,在.pro文件中加入 LIBS += -L$$OUT_PWD/../lib INCLUDEPATH += $$PWD/../lib DEPENDPATH += $$PWD/../lib 在虚拟机下交叉编译通过,但是在Linux核心板上运行却提示找不到共享库 解决方法 阅读全文
posted @ 2022-01-18 15:51 许卡文迪 阅读(1281) 评论(0) 推荐(0)