下面这段代码有什么问题吗?(Arduino上运行)class C{public: C(){ ptr = new int[12]; } ~C(){ if(ptr!=NULL)delete [] ptr; } void reset(){ ...
分类:
其他好文 时间:
2015-05-01 13:13:12
阅读次数:
125
什么是链表,这种数据结构是由一组Node组成的,这群Node一起表示了一个序列。链表是最普通,最简单的数据结构,它是实现其他数据结构如stack, queue等的基础。
链表比起数组来,更易于插入,删除。
Node可以定义如下:
typedef int element_type;
typedef struct node *node_ptr;
struct node {
el...
分类:
其他好文 时间:
2015-04-29 23:27:55
阅读次数:
192
error C2665: “cv::merge”: 3 个重载中没有一个可以转换所有参数类型
源代码为:
merge(ptr,gradImg);
改为:
merge(ptr,3,gradImg);
即可。
这个是针对merge函数的,仅供参考...
分类:
其他好文 时间:
2015-04-29 19:57:00
阅读次数:
241
#include using namespace std;class CFather{public: void display() const { coutdisplay();}void showson(CSon *ptr){ ptr->display();}int main(){ ...
分类:
编程语言 时间:
2015-04-28 16:02:34
阅读次数:
149
//C++智能指针模板类复习
#include
#include
using namespace std;
//智能指针用于确保程序不存在内存和资源泄漏且是异常安全的。
//C++98中提供了auto_ptr,C++11摒弃了auto_ptr,并提出了unique_ptr 、shared_ptr、weak_ptr
void show1()
{
int* p = ne...
分类:
编程语言 时间:
2015-04-27 21:57:40
阅读次数:
247
指针可以加上或减去一个整数。指针的这种运算的意义和通常的数值的加减运算的意义是不一样的。指针加1的结果等于原来的地址值加上指向的对象占用的总字节数。指针的相减将得到一个整数,仅当两个指针指向同一个数组时这种运算才有意义,这将得到两个元素的间隔。
例1:
char a[20];
int *ptr=(int *)a; //强制类型转换并不会改变 a 的类型
ptr++;
在上例中...
分类:
其他好文 时间:
2015-04-27 10:00:32
阅读次数:
92
看下面一段代码 int a[]={1,2,3,4}; int *ptr=(int*)(&a+1); cout <<*(ptr-1)<<endl; 输出为4,这里&a是 int[4]*类型的,所以+1相当于地址加sizeof(int[4]),总结,对于指针T* p,加1相等于地址加...
分类:
编程语言 时间:
2015-04-24 16:10:59
阅读次数:
129
#pragma once
#include
#include
using namespace std;
template
class SmartPointer
{
//不允许有SmartPointer sp=new T()这样的使用方式能给sp赋值的只有另一个sp对象和构造方法
public:
SmartPointer(T* p = 0) :ptr(p), ref_count(new siz...
分类:
其他好文 时间:
2015-04-24 14:23:10
阅读次数:
104
1) 观察者模式定义略,各种设计模式的书上都有定义。2) 观察者模式一般实现观察者模式一般实现,都是“被观察者”保存一个“观察者”的列表,循环这个列表来通知“观察者”。代码,其中使用了boost的智能指针shared_ptr:[cpp]view plaincopy#include#include#i...
分类:
其他好文 时间:
2015-04-23 23:10:45
阅读次数:
226
C++的auto_ptr所做的事情,就是动态分配对象以及当对象不再需要时自动执行清理。使用std::auto_ptr,要#include 。[1]中文名自动指针外文名auto_ptr在C++中, auto_ptr是一个类,它用来实现对动态分配对象的自动释放。它的源代码:?12345678910111...
分类:
其他好文 时间:
2015-04-23 23:05:05
阅读次数:
147