- 博客(7)
- 资源 (12)
- 收藏
- 关注
原创 GCC编译环境C++类对象存储结构
严谨声明以下结论均为GCC编译和UNIX 64位系统环境下得出的结论,非GCC和UNIX环境结论部分结论可能有所不同1.C++类成员变量分为两部分:类自身声明的成员变量,来自于基类的成员变量2.成员变量在内存中的顺序和声明顺序保持一致,从低地址向高地址扩展3.直接继承的情况下, 基类成员变量的地址,在子类成员变量的地址之前;4.虚继承的情况下,基类成员变量的地址,在子类成员变量的地...
2019-08-03 17:00:06 259
原创 C++浅拷贝的另一种实现方式以及CONST指针
虽然C++的浅拷贝编译器已经默认帮我们实现了,但是作为一个技术人员应该要具备有最基本的“黑客精神”,说到C++浅拷贝的实现,大家第一反应就是通过拷贝构造函数实现成员变量的直接赋值。也就是如下的代码: class A { public: A() { arrayA = new int [size];//内存分配 for( size_t i = 0;i<si
2016-12-11 21:38:48 963
原创 二分查找、快速排序对比和详解
**二分查找和快速排序(binarySearch)&&(quickSort)**这两个都是用到分治的思想很容易搞混。而且即使binarySearch是用到分治到不一定意味着递归可以通过循环实现。而且是属于面试笔试的高频问题有必要总结一下。由于循环相比递归少了很多内存分配和压栈的操作开销会少很多,所以binarySearch最好的实现方式是通过循环实现。没什么好解释的直接代码:int binar
2016-03-24 22:19:04 9345 2
原创 关于多线程(进程)任务的思考
本质上多线程和多进程的目的是,提高CPU的利用率,压缩CPU的空闲等待时间,当系统去做IO的时候CPU就会空闲,这时候如果有其他进程抢占CPU则能将CPU利用起来,CPU调度的最小单位是线程。因此线程数或者进程数多,则可以尽可能第利用多核CPU。 最近的项目是要给订阅了直播的用户,推送微信模板消息,原来是单线程改多线程。于是我屁颠屁颠第在单机上将原来的单线程代码改成了...
2020-04-07 02:23:57 167
原创 《深入理解C++11》读书笔记——右值引用
左值右值的定义左值:在作用域内可以持有的变量右值:在下一行即消亡的临时变量右值引用:可以持有即将消亡的临时变量的引用,用 T&& ref_name 表示假设存在int i以下代码不会编译不出错的是 (1)(3)(4)(1) int && ref = i * 3(2) int & ref = i * 3 // 非常引用不能引用未声明的临时变量,未声...
2020-04-07 01:41:42 209
原创 MATLAB导入xls文件以及cell的使用方法
使用matlab读入.xls的文件时候可以用[T,TXT,RAW]=xlsread("filename.xls")导入也可以使用import data 的办法手动导入文件。但是我比较倾向于自动化程度比较高的前者,毕竟有时候导入的文件数量是几百个手动导入不科学。xlsread返回的参数有三个,第一个是xls里面以数字形式储存的数据,第二个是文字形式储存的数据,第三个是前两者的合并也就是一个完整的ex
2015-01-21 14:29:16 10828 2
原创 EM算法学习推演(附例子)
最近学习了人工智能领域十大经典算法之一的EM算法,网上现有的资料实在晦涩难懂公式一大箩筐。自己费了好大力气学习才把算法的原理搞懂,ppt做得简单易懂。本来以为可以再人工智能课上自己好好给大家讲解一番。实在无奈苦于自己数学功力尚浅,演讲心里素质不过关,几乎没有把自己准备好的东西都讲解出来,没让大家明白。尴尬的是,等我讲完还有人问我这个参数代表的是什么。╮(╯▽╰)╭太紧张忽略了太多东西。不过本身这个
2014-11-30 16:19:07 937
2013-2014华南理工大学操作系统课程设计(完整源代码和详细文档)
2014-02-13
IPC读者写者和睡眠理发师问题
2014-01-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人