Cpp
2018
cmake 学习笔记
前置技能点:
gnu make
linux下.so,.a,.o文件
cmake是一个工具,也可以看成一门语言。
学习cmake最大的障碍在于看不懂全是大写的英文
学习cmake主要参考了《cmake practice》
2017
qt 5.x 初探 (5)
qt_5.9_ui_doc
还是比直接写代码方便点。。。所以不妨学习一个!
以及。。。qt在2017年6月1号发布了5.9。。。所以之前是5.8。。。现在变成5.9了。。。
遇到了修改了ui文件却没有生效的问题。。。
qt 5.x初探 (4) qt 在win下打包成exe
des的基本搞定了,打包。
在linux下打包成exe,实在是没什么好办法的样子。
嘛。转念一想。老师说是打包成可执行文件。。。没说一定是exe啊。
然后也许我就零分了呢2333
qt 5.x初探 (3)
update3:
终于知道了正确的学习姿势…
用百度把要用的东西大概描述出来,然后总能找到一个是你要的。。。
然后再去搜关键词。。。
嗯。。百度还是很有用的啊2333
qt5.8_doc_Line Edits Example
所以现在要把之前写成dialog的几个改回Line edit
C++中头文件(.h)和源文件(.cpp)都应该写些什么(转载)
感觉其实。。。更像是一种规范。。。?而不是一种具体要求吧。。。
转自 # 头文件(.h): # 写类的声明(包括类里面的成员和方法的声明)、函数原型、#define常数等,但一般来说不写出具体的实现。
qt 5.x 学习笔记 (2)
先来放一波过程中用到的资料和官方文档好了。
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)
嘛。。为了系统安全课来学一波qt…
现在算是写出了一个可以打开文件,保存文件的记事本。
接下来要搞定的事情是,如何写一个自定义的事件?比如计算个开方之类的。
C++ const 用法总结(转载)
基本全文照搬了:关于C++ const 的全面总结
总结全面还是要一点时间的orz..感谢原作者,暂时没发现有什么错误(?
其中对我而言比较陌生的是“const修饰成员函数”的用法。。已经加粗。
C++ sort学习笔记
回想起大一的时候打cf…那个时候对C++还不怎么熟悉。。。用sort不会自定义排序方式。。
于是手写快排。。。直接取中间元素没加随机化。。。跪了。。。
后来知道sort怎么写以后。。发现sort是可以通过的。。。
cpp vector学习笔记
起因是百度实习二面的时候被问了一道类似这样的题:
给我下面的代码,问有没有什么问题。
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 学习笔记
昨天终于搞定了ycm对c++11的支持….
嘛,17都快出来了,我竟然连11都不会用。
不过突然把所有的11特性给我也没办法全部吸收。
所以在这里记录下用过的c++11的用法。
c语言中static的作用
一般有两个
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...编程中无穷大常量的设置技巧
如果问题中各数据的范围明确,那么无穷大的设定不是问题,在不明确的情况下,很多程序员都取0x7fffffff作为无穷大,因为这是32-bit int的最大值。如果这个无穷大只用于一般的比较(比如求最小值时min变量的初值),那么0x7fffffff确实是一个完美的选择,但是在更多的情况下,0x7fffffff并不是一个好的选择。