↓ Skip to main content
  1. Tags/

Cpp

2018

Eigen: C++开源矩阵学习笔记

·736 words·2 mins
接触 Eigen 的原因是最近在看 caffe/caffe2 源码,caffe2 中使用了 Eigen 库。Eigen 是一个基于 C++ 模板的线性代数库,直接将库下载后放在项目目录下,然后包含头文件就能使用,非常方便。对于 Linux 用户,只需要把头文件放到 /usr/include 下即可。此外,Eigen 的接口清晰,稳定高效。

cmake 学习笔记

·889 words·2 mins
前置技能点: gnu make linux下.so,.a,.o文件 cmake是一个工具,也可以看成一门语言。 学习cmake最大的障碍在于看不懂全是大写的英文 学习cmake主要参考了《cmake practice》

cuda error checking 学习笔记

·283 words·1 min
由于发现cuda c++ 的 debug方式和c++ 差别很大,因此打算再开一篇,专门记录一些和error checking 以及debug有关的内容. Error checks in CUDA code can help catch CUDA errors at their source. There are 2 sources of errors in CUDA source code:

2017

qt 5.x 初探 (5) 

·166 words·1 min
qt_5.9_ui_doc 还是比直接写代码方便点。。。所以不妨学习一个! 以及。。。qt在2017年6月1号发布了5.9。。。所以之前是5.8。。。现在变成5.9了。。。 遇到了修改了ui文件却没有生效的问题。。。

qt 5.x初探 (3)

·677 words·2 mins
update3: 终于知道了正确的学习姿势… 用百度把要用的东西大概描述出来,然后总能找到一个是你要的。。。 然后再去搜关键词。。。 嗯。。百度还是很有用的啊2333 qt5.8_doc_Line Edits Example 所以现在要把之前写成dialog的几个改回Line edit

qt 5.x 学习笔记 (2)

·3095 words·7 mins
先来放一波过程中用到的资料和官方文档好了。 basic layout_qt5.8 QBoxLayout Class_qt5.8 QString Class 5.8 QChar Class qt 5.8 Standard Dialogs Example qt 5.8 更新的部分还是放在最前面好了。 convert from QString to char *的时候有个坑。 In order to convert a QString to a char*, then you first need to get a latin1 representation of the string by calling toLatin1() on it which will return a QByteArray. Then call data() on the QByteArray to get a pointer to the data stored in the byte array. See the documentation: See the following example for a demonstration:

qt 5.x 初探(1)

·477 words·1 min
嘛。。为了系统安全课来学一波qt… 现在算是写出了一个可以打开文件,保存文件的记事本。 接下来要搞定的事情是,如何写一个自定义的事件?比如计算个开方之类的。

C++ const 用法总结(转载)

·3410 words·7 mins
基本全文照搬了:关于C++ const 的全面总结 总结全面还是要一点时间的orz..感谢原作者,暂时没发现有什么错误(? 其中对我而言比较陌生的是“const修饰成员函数”的用法。。已经加粗。

C++ sort学习笔记

·377 words·1 min
回想起大一的时候打cf…那个时候对C++还不怎么熟悉。。。用sort不会自定义排序方式。。 于是手写快排。。。直接取中间元素没加随机化。。。跪了。。。 后来知道sort怎么写以后。。发现sort是可以通过的。。。

cpp vector学习笔记

·785 words·2 mins
起因是百度实习二面的时候被问了一道类似这样的题: 给我下面的代码,问有没有什么问题。 1/* *********************************************** 2Author :111qqz 3Created Time :2017年02月28日 星期二 14时49分37秒 4File Name :vector.cpp 5************************************************ */ 6#include <cstdio> 7#include <vector> 8#include <ctime> 9using namespace std; 10int func( int x ) //此处函数的条件是不单调...这样才可以触发问题. 11{ 12 return (x-50)*(x-50)+1; 13} 14int main() 15{ 16 17 vector<int>vec; 18 int *pint = NULL; 19 for ( int i = 0 ; i < 100 ; i++) 20 { 21 int x = func(i); 22 vec.push_back(x); 23 if (x<500) 24 { 25 pint = & vec[0]; 26 } 27 } 28 if (pint) 29 *pint = 0 ; 30 int siz = vec.size(); 31 for ( int i = 0 ; i < siz ; i++) printf("%d\n",vec[i]); 32 return 0; 33} 面试的时候只给了部分代码,func函数没有给出。

2016

c++11 学习笔记

·172 words·1 min
昨天终于搞定了ycm对c++11的支持…. 嘛,17都快出来了,我竟然连11都不会用。 不过突然把所有的11特性给我也没办法全部吸收。 所以在这里记录下用过的c++11的用法。

c语言中static的作用

·185 words·1 min
一般有两个 1static int a; 2int b; 3void func(void) 4{ 5 static int c=0; 6 int d; 7} 在这里,a与b都是全局变量,二者的区别是,b可以被别的文件使用,a只能在本文件中使用,这是static对全局变量的作用。 ** c和d的区别是,d是一个自动变量,func函数执行完后,d会自动被释放。但c却不会被释放,下一次调用func函数时,c的值会保留上次的值继续使用(而不是初始值0,初始化只会在函数第一次被调用的时候执行)**

2015

0x3f3f3f3f...编程中无穷大常量的设置技巧

·1368 words·3 mins
如果问题中各数据的范围明确,那么无穷大的设定不是问题,在不明确的情况下,很多程序员都取0x7fffffff作为无穷大,因为这是32-bit int的最大值。如果这个无穷大只用于一般的比较(比如求最小值时min变量的初值),那么0x7fffffff确实是一个完美的选择,但是在更多的情况下,0x7fffffff并不是一个好的选择。