第四章 Function语意学 (The Semantics of Function)
如果有一个Point3d的指针和对象:
Point3d obj;
Point3d *ptr = &obj; 当这样做:
obj.normalize();
ptr->normalize(); 时,会发生什么事情呢?其中的Point3d::normalize()定义如下:
Point3d Point3d::...
分类:
编程语言 时间:
2015-08-08 21:28:53
阅读次数:
118
指针的概念
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。
先声明几个指针放着做例子:
例一:
int *ptr;
char *ptr;
int **ptr;
int (*ptr)...
分类:
编程语言 时间:
2015-08-08 18:17:19
阅读次数:
228
《More Effective C++》ITEM M9他提到auto_ptr。说是当异常产生的时候。怎么释放为对象分配的堆内存,避免反复编写内存释放语句。PS:这里书里面提到函数退出问题,函数退出会清理栈内存,无论是怎么正常退出还是异常退出(仅有一种例外就是当你调用 longjmp 时。Longjm...
分类:
编程语言 时间:
2015-08-08 11:41:18
阅读次数:
144
1 #include 2 3 char str[]="Hello~world!"; 4 5 char *ptr=str;//数组名只代表数组元素的首地址,即str[0]的地址, 6 //故此处也可以这样写: char *ptr=str[0]; 7 8 void main() 9 {10 1...
分类:
编程语言 时间:
2015-08-06 21:58:14
阅读次数:
125
使用OSG的人都知道OSG的内存管理方式采用了智能指针,通过智能指针的方式让OSG自己处理对象的销毁工作。在OSG中有两个智能指针类型,一个就是我们再熟悉不过的ref_ptr,另外一个可能很多人不一定经常用,但确实非常好的observer_ptr。这两种类型都是作为智能指针而出现的,那他们到底有什么区别?为什么会出现两个类似的东西?下面我们慢慢揭开它们的面纱。
其实它们是两种智能指针类型...
分类:
其他好文 时间:
2015-08-04 15:40:37
阅读次数:
198
两个函数:malloc和free
需要头文件:stdlib.h
void *malloc(size_t size);
void free(void *ptr);
需要说明的是:
申请:
1)。参数是申请内存的字节数。
2)。申请的是一块连续的内存。
3)。返回值是void *类型,因此,要将他的返回值付给一个指针的时候,一定要类型转换。
释放:
1)。参数是...
分类:
其他好文 时间:
2015-08-03 19:14:11
阅读次数:
98
C++ Primer 学习笔记_24_类与数据抽象(10)--static 与单例模式、auto_ptr与单例模式、const成员函数、const 对象、mutable修饰符
前言
【例】写出面向对象的五个基本原则?
解答:单一职责原则,开放封闭原则,依赖倒置原则,接口隔离原则和里氏替换原则
里氏替换原则:子类型必须能够替换他们的基类型。
设计模式分为三种...
分类:
编程语言 时间:
2015-08-03 01:15:15
阅读次数:
175
/*
两个字符串A、B。从A中剔除存在于B中的字符。
比如A = “hello world”, B = "er",那么剔
除之后A变为"hllo wold"。空间复杂度要求是O(1)
,时间复杂度越优越好。
*/
#include
#include
using namespace std;
void Grial(char *str,char *ptr)
{...
分类:
编程语言 时间:
2015-08-02 06:24:28
阅读次数:
127
字符串中各单词的翻转// 字符串中各单词的翻转.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"
#include
#include
using namespace std;void RevStr(char* src)
{
char *start=src,*end=src,*ptr=src;
while(*...
分类:
其他好文 时间:
2015-07-31 20:29:07
阅读次数:
172
线程池本质上是一个生产者消费者的模型。在线程池有一个存放现场的ptr_vector,相当于消费者;有一个存放任务的deque,相当于仓库。线程(消费者)去仓库取任务,然后执行;当有新程序员是生产者,当有新任务时,就把任务放到deque(仓库)。...
分类:
其他好文 时间:
2015-07-31 16:25:01
阅读次数:
109