想必大家对条形码都不陌生,在超市购物的时候,收银员就是通过扫描商品的条形码来快速的确定商品信息的。我们知道,商品上的条形码由很多粗细不等的线条以及相应的数字数字组成,这些信息只能唯一确定一类商品,却无法涵盖任何文本信息,这便是一维条形码的局限性所在。为了存储更多的资料,二维码便应运而生了,其中以QR码应用最为广泛,QR源自英文“Quick Response” 的缩写,即快速反应的意思。它最先在日本得到广泛应用。相比一维条形码,QR二维码不要求摄像头(扫描仪)垂直、平行地读取条形码信息,它三个角上的定位图案可以用来协调扫描误差。QR二维码不仅可以存储数字信息,还能存储网址、网页书签、手机联系人、电话号码、手机短信、电子邮件、GPS卫星定位坐标、文本信息等等。 阅读全文
实现一个函数reverse(char *),将指针所指向的字符串内的单词逆序输出,例如“Welcome to CppLive . com !”的指针传入该函数后输出“! com . CppLive to Welcome”。
问题的关键是先依靠空格符(‘ ‘)从字符串中划分出一个个单词出来,我们可以从字符串头循环读入一个个字符到一个临时string对象中,当遇到一个空格符时暂停读入,这时临时string对象中存储的便是一个单词,将该临时string对象push_back到一个vector中,同时clear该临时string对象以便重新存储下一个单词。当遇到null时,字符串便读入完毕,我们可以利用reverse_iterator从容器尾(rbegin())到容器头(rend())逆序输出。 阅读全文
分章分类 : C++
1、形参的初始化与变量的初始化一样:如果形参具有非引用类型,则复制实参的值;如果形参为引用类型,则它是实参的别名。
2、可以将指向const对象的指针指向非const对象,但不能将指向非const对象的指针指向const对象。但在函数非指针非引用形参里,结果就不受约束了,不论形参是否是const类型的,只要不是引用或者指针,对应的实参既可以是const对象,也可以是非const对象。
3、令人吃惊的是,尽管函数的形参是const,但编译器却不会将形参是非const类型的同名函数视为函数重载。例如
void fcn(const int i) { /* fcn函数可以读取i的值却无法更改i的值 */} void fcn(int i) { /* ... */} //编译器将提示"error:redefines fcn (int)"错误
其实这种用法是为了支持对C语言的兼容,因为在C语言中,具有const形参或非const形参的函数无法区别。 阅读全文
一、kill –l 显示所有信号,linux下有64个
1) SIGHUP 2) SIGINT(ctrl+c) 3) SIGQUIT(ctrl+\) 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL(可靠地杀死进程) 10) SIGUSR1
11) SIGSEGV(使用非法内存地址产生的信号——段错误) 12) SIGUSR2 13) SIGPIPE 14) SIGALRM(设定时间结束,杀死进程) 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT(使已经中断的信号继续执行) 19) SIGSTOP(可靠地暂停进程) 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 阅读全文
分章分类 : C++, C++Primer笔记