随笔分类 -  CPP

Problems/Solutions when using C++
摘要:In fact, Ptr alone can accomplish the task mentioned below.Implementation see Ptr.h, main2.cpp. In C++11, we also have a better choice: std::shared_pt... 阅读全文
posted @ 2014-11-21 22:42 rldts 阅读(296) 评论(0) 推荐(0) 编辑
摘要:In this case, Box need access to Cup.func, AND Cup need access to Box.func, both of which are private because I don't want any other class to have acc... 阅读全文
posted @ 2014-11-21 17:13 rldts 阅读(211) 评论(0) 推荐(0) 编辑
摘要:http://stackoverflow.com/questions/27037744/why-doesnt-c-allow-rebinding-a-reference#1. The primary reason that the designer of C++ introduced referen... 阅读全文
posted @ 2014-11-20 18:39 rldts 阅读(441) 评论(0) 推荐(0) 编辑
摘要:Telescoping constructor: see Effective Java 2nd Edition Item 2If you want to use telescoping constructor but your compiler does not support c++11 stan... 阅读全文
posted @ 2014-11-20 17:12 rldts 阅读(339) 评论(0) 推荐(0) 编辑
摘要:Reference material:Thinking In C++ 2nd eidition chapter 5 section "Handle classes"If there's something need to be hidden from clients of the class (su... 阅读全文
posted @ 2014-11-19 18:50 rldts 阅读(252) 评论(0) 推荐(0) 编辑
摘要:main.cpp 1 #include "Stack.h" 2 3 #include 4 5 using namespace std; 6 7 class Box { 8 public: 9 Box():data(0), ID(num++) { cout data = b.data;... 阅读全文
posted @ 2014-11-19 18:16 rldts 阅读(363) 评论(0) 推荐(0) 编辑
摘要:类似的问题还有: why can't class template use Handle Class Pattern to hide its implementation? || why there are linker problems (undefined reference) to my cl... 阅读全文
posted @ 2014-11-19 17:36 rldts 阅读(1112) 评论(0) 推荐(0) 编辑
摘要:为什么会想到这个问题?因为我总是不自觉地将c++和java进行对比。java对这种情况的处理方式是constructor返回一个null,然后已经构造的objects交给Garbage Collector处理,那么c++没有Garbage Collector,会是怎么样的一种情况呢?为了找到这个问题... 阅读全文
posted @ 2014-11-19 01:09 rldts 阅读(448) 评论(0) 推荐(0) 编辑
摘要:以前喜欢这样组织文件:myproject/src/moduleA放moduleA的所有cpp文件myproject/include/moduleA放moduleA的所有h文件对moduleB.C.D...类似的处理,但是仍然容易有name clashes最近发现在使用上述文件组织方式的情况下,用na... 阅读全文
posted @ 2014-11-18 18:44 rldts 阅读(957) 评论(0) 推荐(0) 编辑
摘要:参考资料:http://stackoverflow.com/questions/1306778/c-virtual-pure-virtual-explained验证代码:#include using namespace std;class Base {public: virtual void ... 阅读全文
posted @ 2014-11-18 17:00 rldts 阅读(6663) 评论(0) 推荐(0) 编辑
摘要:http://www.cplusplus.com/reference/ios/ios/operator_not/http://stackoverflow.com/questions/8117566/why-istream-object-can-be-used-as-a-bool-expression... 阅读全文
posted @ 2014-11-17 15:39 rldts 阅读(572) 评论(0) 推荐(1) 编辑
摘要:用java的时候觉得挺折腾,回头来弄c++才知道什么叫折腾。。。汗。。。首先参考我写的这篇文章:http://www.cnblogs.com/qrlozte/p/4100892.html我从sourceforge把整个boost的zip下载下来以后,我主要是在编译 boost regex的时候出问题... 阅读全文
posted @ 2014-11-16 20:42 rldts 阅读(3504) 评论(0) 推荐(0) 编辑
摘要:感谢以下参考资料: 关于如何使用第三方的库: http://stackoverflow.com/questions/21942545/how-to-install-third-party-libraries http://www.learncpp.com/cpp-tutorial/a3... 阅读全文
posted @ 2014-11-16 00:50 rldts 阅读(13318) 评论(0) 推荐(0) 编辑
摘要:简言之:头文件只能包含interface(函数声明、宏定义、类定义(只包含数据成员定义和函数成员声明,不能包含函数成员定义!)),绝对不能包含一丁点的implementation(内部数据结构,实现类、辅助函数等等),否则会导致构建程序的时候的严重的编译链接错误!以下用DEC表示declaratio... 阅读全文
posted @ 2014-11-15 16:34 rldts 阅读(734) 评论(0) 推荐(0) 编辑
摘要:我TM看了很久的文档,还是无法理解为什么我用MinGW GCC 4.8.1编译的C++11 总是抛出异常:regex_error还是下载boost regex吧或者c语言版本的regex.h(也是第三方的工具库,不是标准库)备注:http://www.cnblogs.com/pmars/archiv... 阅读全文
posted @ 2014-11-15 14:57 rldts 阅读(330) 评论(0) 推荐(0) 编辑
摘要:在构造自己的类时,有可能会碰到两个类之间的相互引用问题,例如:定义了类A类B,A中使用了B定义的类型,B中也使用了A定义的类型例如:Cup.h#ifndef CUP_H#define CUP_H#include "Box.h"class Cup{ public: ~Cup(); ... 阅读全文
posted @ 2014-11-15 11:26 rldts 阅读(6126) 评论(0) 推荐(1) 编辑
摘要:今天做一个模块的时候遇到的这个问题。抽象一下,代码如下:文件结构:报错:这个报错貌似说的是Box.h中的代码有问题。其实问题的根源在于Cup.h中多余的#include "Box.h"(因为Box.h有#include "Cup.h",所以就构成了循环导致出错!)解决办法当然就是删掉那条多余的#in... 阅读全文
posted @ 2014-11-14 21:50 rldts 阅读(497) 评论(0) 推荐(0) 编辑
摘要:C++ Primer 4th中在section 13.5中的U_Ptr就是一种实用的例子通过计数的方式,并提供自己的抽象类型的Pointer,从而实现内存管理。在一定的范围内还是非常有效的,比如说在写某个模块的时候,模块内部可以采用这种方法避免发生memory leak这里作为一个备忘,就不写详细的... 阅读全文
posted @ 2014-11-13 18:23 rldts 阅读(449) 评论(0) 推荐(0) 编辑
摘要:利用一个简单的事实:x ^ y ^ z 得到 a那么 a ^ z ^ y 就可以得到 x,或者 a ^ y ^ z 也可以得到 x加密:提供一个key.txt和input.txt,key.txt装你的密钥,比如:abc123,input.txt装原文(可以包含中文)解密:key.txt内容仍然是密钥... 阅读全文
posted @ 2014-10-29 12:56 rldts 阅读(1854) 评论(0) 推荐(0) 编辑
摘要:问:求大神解释这个C程序,为什么在compare_strings中使用return strcmp(p, q);就无法正确排序 1 #include 2 #include 3 4 static int compare_strings(const void *p, const void *q); ... 阅读全文
posted @ 2014-10-28 00:46 rldts 阅读(209) 评论(0) 推荐(0) 编辑