摘要:题外话,贴个白噪音网站 Rainy Mood ,敲代码的时候可以听,就像不存在一样 言归正传 在C++复制控制那篇帖子里面,有提到操作符的功能实际上都是被定义出来的。--这一点其实可以推广到其他的语言,只不过其他语言禁止了自定义操作符。 先说个总结认识:操作符本质上是函数,只不过不同于普通函数,标准
阅读全文
摘要:如下代码会怎么执行? 实际测试,是倒序执行,感觉上符合“C函数的形参的入栈顺序是,从右往左”。 但是, 上面是请教高人的结果。 所以实际上还是看编译器有没有定义了???
阅读全文
摘要:论坛上看到的两道题目,如下: 第一个不用多说,考查的是后缀自增/减运算符的执行(居然有人不知道)、finally的执行。 简单的说,try中的语句必然先执行,finally中的语句必然在try后面执行。唯一一个拗口的地方就是,如果都有return,那么try的return语句会被暂存,而去执行fin
阅读全文
摘要:写了又删,删了又写,才发现这一章节不好描述。 那就假定个前提吧,假定已经知道: 在此基础上,稍作推理: 一、如果构造函数是单形参、且形参类型为该类的类型的构造函数: 以 class Person 为例, 根据上面前提的④,p2 需要 p1 的一个副本(复制一个),这时就出现问题了:该怎么复制? 这就
阅读全文
摘要:首先,如果vi中出现了方向键变成ABCD的情况,需要卸载默认的vim-common,再安装vim。 ps:貌似还有间接的方法,不推荐。 其次,vi是可以设置tab宽度的!--当初因为vi极其ugly的tab,所以拒绝深入了解,现在终于可以多了解一点了。 vi的设置有两种,一种是配置文件,一种是单个文
阅读全文
摘要:再次吐槽下C++Primer这本书,啰哩啰嗦,废话太多。如果我来翻译的话,绝对删减一堆没用的 仅限于发牢骚。 不知道是否经典的做法 类中的成员声明在头文件中,定义(我更喜欢叫实现)在源文件中,使用的时候导入头文件即可。 但是,这里没有说明的是,源文件中需要导入头文件,而头文件不需要导入源文件!!!
阅读全文
摘要:前提 看视频得来的内容,只知道不止4个区,但主要是这4个区。 四区 以上,面试的时候通常会问到什么时候会栈溢出,根据栈区的定义,只要局部变量的总长度超出栈长度即可。 例如, 注意,malloc分配的空间并未提供初始化,所以需要手动初始化。 C中提供了另外两个函数来操作堆空间。 realloc会返回新
阅读全文
摘要:起因在于习惯性的想格式化代码,发现Qt Creater默认居然是没有代码格式化的,只有一个缩进,搞毛线啊!!! 搜索了下,倒是很容易就搜到了,Qt Creater中有个插件:beautifier,在 帮助-关于插件 中开启了即可(需要重启)。 可惜这只是一个接口,它的作用是调用格式化工具进行格式化。
阅读全文
摘要:所谓类的隐式转换,就是将实参类型转成形参类型--如果不一致的话。 这个转换与基本类型转换不太一样,具体则是在形参类型的构造函数中使用实参类型的数据,从而构造出一个临时对象。 下面的代码,类Person 的成员函数 isSamePerson(const Person &person) const ,理
阅读全文
摘要:类的定义 使用class或struct定义,区别在于前者默认private,后者则是public。 需要注意的是,类定义后面有分号!!! 原因是C++支持类定义后面跟上变量列表--即用于定义类变量! 但是,极其不赞成这样做(类定义后面跟着变量列表)。 如果试图定义一个类的对象,那必须先定义类!--如
阅读全文
摘要:看书的速度终于慢了下来,倒不是难于理解,而是需要理解的东西有点多。 先吐槽下C++Primer这本书,不少地方都是用抽象的语言进行介绍! 拜托,你这是介绍,不是总结! 像容器适配器那里: 直接说转换接口不是更通俗易懂吗??? >>>>>>>>>>>>>>>>>吐槽结束>>>>>>>>>>>>>>>>
阅读全文
摘要:撒花庆祝下,终于看完了(C++Primer)第一部分,即将进入第二部分! IO部分,最基本的是iostream(istream、ostream),子类有fstream(ifstream、ofstream)和sstream(istringstream、ostringstream)。 iostream是
阅读全文
摘要:继续上一篇 函数是类型(由返回值和形参列表确定),函数名则是该类型的变量! typedef只是给这种类型取个别名,而这种类型实际上在定义函数的时候就已经存在了。 所以直接传入函数名即可! 目前的问题是:为什么定义了函数类型的变量f,却无法使用函数名(变量take)来赋值? 被告知:functions
阅读全文
摘要:C++中函数是一种类型!C++中函数是一种类型!C++中函数是一种类型! 函数名就是变量!函数名就是变量!函数名就是变量! ( 20160618最新消息,函数名不是变量名。。。囧) ( 20160714最新消息,C++没有函数类型。。。囧) ( 但是,我认为把它们当成类型和变量更容易理解!!!) 重
阅读全文
摘要:看到(C++ Primer)类的成员函数这里,突然对成员函数形参列表后面的const感到迷惑。 因为书中开始说是修饰隐含形参this的,然后又说是声明该函数是只读的。 大为不解! 翻资料、找人讨论。。。 最终恍然大悟: 还是书里说的对,那个const 修饰的是隐参this(const ClassNa
阅读全文
摘要:先说结论 非引用类型的赋值无所谓const。 const引用可以指向const及非const。但非const引用只能指向非const。 指向const的指针,可以指向非const。但指向非const的指针,只能指向非const。 注意:上面说的都是变量赋值! 对于函数来说同理, 非const引用的形
阅读全文
摘要:原文 [ 函数的返回值用于初始化在调用函数处创建的临时对象。在求解表达式时,如果需要一个地方储存其运算结果,编译器会创建一个没有命名的对象,这就是 临时对象。temporary object ] --就是说,当你需要使用函数的返回值时,编译器会创建一个 临时对象。 --只有非引用返回才会创建临时对象
阅读全文
摘要:原因 刚好看到给main传递参数,书上(C++Primer)说“ int main(int argc, char *argv[])也可以写成 int main(int argc, char **argv),argv 是 C风格字符串数组 ”。 然后各种别扭,感觉有什么没弄明白(最怕这样,不知道自己不
阅读全文
摘要:原因 使用Controller的形参及注解@ModelAttribute来接收页面传来的数据,但是该形参类型中的属性过多,不想一一判断,就想有没有偷懒的方法。 搜索一番,找到一个不错的思路:利用反射获取所有字段,再判断内容是否为null。 初步代码如下 问题 上面的代码有不少问题,例如没考虑排除se
阅读全文
摘要:题外话:一工作起来就没有大段的时间学习了,如何充分利用碎片时间是个好问题。 接 C++ Primer学习笔记(一) 27、与 vector 类型相比,数组的显著缺陷在于:数组的长度是固定的,无法直接复制和赋值(Wrong:int arr2[]=arr1;),而且程序员无法知道一个给定数组的长度 没有
阅读全文
摘要:刚好看到C++的函数这块,说C++中除了引用类型的形参,其他都是实参的副本(个人总结)。 隐约记得Java中方法的参数也是这么回事,于是手动测试一番。 结果 Java中方法的参数都是值传递,哪怕是引用类型,传递的也是引用本身的副本(指向同一个对象)。 个人以为,将Java中的引用类型的变量看作指针更
阅读全文
摘要:始终对C++念念不忘,看过 一个32岁入门的70后程序员给我的启示 之后,心情激荡,更是一发不可收拾。 认真地说,我不是一个执着的人,见异思迁,好读书而不求甚解,兼之情绪化(~~ 某些方面),于是怒下决心要掌握C++,于是有了这个笔记。 比较欣慰的是,可能认真学了Java,又看过不少的资料,所以对编
阅读全文
摘要:为什么? 因为之前一个项目,安卓那边说只能处理JSON,别的都不行。。。(后来问过他人,明明可以处理其他的~~) 当时因为赶进度,所以直接缓存了图片(囧),然后将图片地址发出去。 过后想了下完全可以转成字符串发送过去。 方法如下: 验证码图片 JSP中直接输出 转成字符串的工具方法 测试方法 但是,
阅读全文
摘要:最近从github上fork了张开涛的Shiro代码,IDE是Intellij IDEA。发现无论是Project还是Module,默认的Language Level都是JDK 1.5,而且每次修改都仅限于当前有效,稍后又会变回JDK 1.5。 搜索了一番,解决办法都是这pom.xml中指定comp
阅读全文