03 2013 档案

摘要:直接来看代码: 1 #include <iostream> 2 3 class Singleton 4 { 5 private: 6 Singleton(){std::cout<<"Singleton()"<<std::endl;}; 7 Singleton(const Singleton&) = delete; 8 Singleton& operator=(const Singleton&)= delete; 9 static Singleton* _instance;10 11 p... 阅读全文
posted @ 2013-03-24 00:09 轻典 阅读(324) 评论(0) 推荐(0)
摘要:1、不要让main函数返回void,并且建议显式的调用 return 0;2、区分0的4种面孔:整型0、空指针NULL、字符串结束标志 '\0'、逻辑false。前两者都占32位,推荐在置空指针或比较指针时,使用NULL,如 int* i = NULL; if (i == NULL); 第三种是一个字符,占8字节。如 "Hello" 只有5个字符,却要分配6字符空间;第四种占用一个字节3、不要忘记对局部指针变量的初始化,可以设置为NULL,否则会报警告;但对于全局指针变量来说,编译器会自己完成对它的初始化,不会报警告。4、逗号表达式的值为最右边表达式的值,如 阅读全文
posted @ 2013-03-18 20:52 轻典 阅读(821) 评论(0) 推荐(0)
摘要:1、避免使用全局变量,增加了模块间的耦合。static 变量,只作用于一个编译单元。如果两个.cpp文件使用同一个头文件里声明的 static 变量,其地址其实是不一样的,值也可能不一样。static修饰的全局变量的作用域只能是本身的编译单元。在其他编译单元使用它时,只是简单的把其值复制给了其他编译单元,其他编译单元会另外开个内存保存它,在其他编译单元对它的修改并不影响本身在定义时的值。即在其他编译单元A使用它时,它所在的物理地址,和其他编译单元B使用它时,它所在的物理地址不一样,A和B对它所做的修改都不能传递给对方。 多个地方引用静态全局变量所在的头文件,不会出现重定义错误,因为在每个编译单 阅读全文
posted @ 2013-03-18 16:05 轻典 阅读(1046) 评论(0) 推荐(0)
摘要:服务器端配置: 1、建立项目:svnadmin create /data/svn/new_s3 2、初始化SVN目录: svn import mycode/ file:///data/svn/new_s3 -m "注释" 3、添加用户:vim /data/svn/new_s3/conf/passwd 阅读全文
posted @ 2013-03-14 11:17 轻典 阅读(2067) 评论(0) 推荐(0)
摘要:1、需要 python 头文件,下载安装。2、下载安装distcc-3.1.tar.bz2。3、export DISTCC_HOSTS='localhost 10.10.13.162‘ //添加所有欲分发的distcc服务器IP列表,ip应按各服务器性能由好到差排列。export DISTCC_VERBOSE=1 //给出调试信息export DISTCC_LOG=”/root/disstcc.log” //编译出错时可以查看日志,默认路径是/var/log/messages以上可以写入到 ~/.bash_profile 中,以便开机有效。4、在每一台服务器上安装好 distcc 之. 阅读全文
posted @ 2013-03-11 12:39 轻典 阅读(4584) 评论(0) 推荐(1)
摘要:编译之后,在 lib/.libs 目录下会生成动态和静态链接库,我比较喜欢动态库,生成文件较小,方便上传服务器。 1 #include <gtest/gtest.h> 2 3 int max(int a,int b) 4 { 5 return a > b ? a:b; 6 } 7 8 TEST(foo,max) 9 {10 EXPECT_EQ(2,max(2,-1));11 EXPECT_EQ(3,max(2,3));12 }13 14 int main(int argc,char** argv)15 {16 ::testing::InitGoogleTes... 阅读全文
posted @ 2013-03-02 00:42 轻典 阅读(694) 评论(0) 推荐(0)