最近重温了一下 awk, sed, tr 等命令,然后发现leetcode中还有几道专门关于shell的题目shell in leetcode, 于是就也做了一下。下面是几道题目的解决方案。

在《Effective C++》里提到对内置(C-like)类型在函数传参时pass by value比pass by reference更高效,当用OO的c++自定义类型(存在构造/析构等)pass by reference to const 更好,STL里的迭代器和函数对象是用C指针实现的,因此pass by value更好。至于为什么,下面的代码验证了下。

注意C中的struct和C++中的struct是不一样的,c中的struct比较原生,仅仅是将一些属性封装起来构成一个整体,没有OO的相关特性。而c++中的struct是对c中的struct进行扩展(兼容c中的struct),具备OO的特性, 其实c++中的class能干的事情struct几乎都能干, 什么继承、多态等都OK。直接看下面代码,不同编译器对结果可能不一样:

update

这应该属于Named Return Value Optimization(NRVO)或者Return Value Optimization(RVO)返回值优化的范畴。

RVO就是这样的:

直接上代码,如下,你觉得应该输出什么?#include <iostream>using namespace std;class Shape{ public: //virtual void draw(const string color="red") = 0; virt...

前面写python的AOP解决方案时提到了decorator,这篇文章就详细的来整理下python的装饰器——decorator。

之前开发用惯了eclipse(从Java,JS,android到php,python等),现在准备接触下R,还是想用eclipse,不想再去花时间熟悉另外的IDE。

前面说已经开是学习python了,然后随便看了下语法,就看到了OO了。结果发现这个__init__()和__new__()方法才有些神奇。引用官方API的解释

说学python已经好久了,这两天终于看了下。最开始还是别人推荐的简明python教程:chm版本下载,在线版本,这个版本是2.x版本滴了,机子上装了3.2的,难怪自己开始想打印hello world都不行。因为教程里说的是,直接print ‘hello world’,结果提示语法错误。后来才知道,print在3.x版本里面已经是一个函数,应该用print(‘hello world!’)这样才可以,我就说怎么连hello world都不行。该教程的英文版本滴可以参考这里

昨天因为收到告警信息,原因是自动化测试用例用例的脚本有问题。其中一个请求过去设置了If-None-Match的值为 700390322,然后response返回304.测试人员肯定是抓包然后有If-None-Match这个字段,就每次发了这个值,但是其实,服务器那边根据这个值判断是否是新请求新的内容,如果服务器端内容没有变的话,直接返回304,让浏览器端直接取缓存就可以了。根据这个扩展了下相关知识。

看代码看到类似preg_replace('/[\n\r]/is', '', $str);的东西,没搞明白/is的意思,前面那篇文章也没说。后来查了下才明白是修饰符。看看下面这篇文章,学习下。我们在PHP正则表达式的学习中会碰到修饰符,那么关于PHP正则表达式修饰符的理解以及使用我们需要注意什么呢?那么我们来具体的...
时不时会用到,网上找滴,整理下,收藏下吧。1.引子目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境,以及很多的应用软件中,都可以看到正则表达式的影子。正则表达式的使用,可以通过简单的办法来实现强大的功能。为了简单有效而又不失...

最近常用到VI,苦于有些命令还得去查,这里网上找了份,不错。记录下来。收藏了。

tanglei
码农 @ 宜信大数据创新中心, 毕业于CSU && THU, 曾工作于腾讯 && 友盟.   MORE
标签云