在C语言编程时,经常会用到指针或数组作为参数传递,但有时结果却并不是自己想要的。下面总结下指针、数组作为参数传递需要的问题。
一级指针与二级指针的使用范围:
一级指针存放变量的地址,指向的值是变量的内容。如int* p={1,2,3}, p=数组的首地址,*p=数组的第一个值;
二级指针存放一级指针的地址,指向一级指针。如int*p ={1,2,3},...
分类:
编程语言 时间:
2014-08-26 15:27:46
阅读次数:
252
Q: 那个auto_ptr是什么东东啊?为什么没有auto_array?A: 哦,auto_ptr是一个很简单的资源封装类,是在头文件中定义的。它使用“资源分配即初始化”技术来保证资源在发生异常时也能被安全释放(“exception safety”)。一个auto_ptr封装了一个指针,也可以被当作...
分类:
其他好文 时间:
2014-08-14 01:12:07
阅读次数:
340
指针函数,函数指针,typedef简化函数指针的使用,类中非静态成员函数和静态成员函数的调用。...
分类:
编程语言 时间:
2014-08-08 16:02:46
阅读次数:
195
常用标准库:
assert.h:断言,包含assert宏。可以进行自我检查
ctype.h:字符处理,字符的分类,大小转换
errno.h:错误信息处理
float.h:浮点数特性
limits.h:整数的大小,提供了描述整数类型的宏
lcale.h:本地化
math.h:数学函数
setjmp.h:跳转
signal.h:信号处理
stdarg.h:可变长参数处理
stdd...
分类:
其他好文 时间:
2014-08-05 11:13:29
阅读次数:
264
this指针仅仅能在一个类的成员函数中调用,它表示当前对象的地址。以下是一个样例: void Date::setMonth( int mn ) { month = mn; // 这三句是等价的 this->month = mn; (*this).mon...
分类:
编程语言 时间:
2014-07-27 09:55:32
阅读次数:
182
写在前面用自己的话分析清楚~智能指针是如何使用的?强指针是如何实现?弱指针如何转化为强指针?智能指针的使用智能指针的使用必须满足如下条件:这个类需要继承自RefBase为什么需要虚析构函数?虚析构函数是为了解决这样的一个问题:基类的指针指向派生类对象,并用基类的指针删除派生类对象。虚函数的出现是为了...
分类:
其他好文 时间:
2014-07-22 22:46:36
阅读次数:
446
测试环境:win7, vs2012如果未安装boost,请参考:http://blog.csdn.net/alex_my/article/details/17630685涉及智能指针:shared_ptr, weak_ptr, scoped_ptr, auto_ptr其它:enable_shared...
分类:
编程语言 时间:
2014-07-19 14:15:45
阅读次数:
276
//定义结构
Box.h:
#ifndef BOX_H
#define BOX_H
struct Box{
double length;
double width;
double height;
double volume();
};
#endif
//定义volume方法
t1.cpp:
#include "box.h"
double Box::volume(...
分类:
编程语言 时间:
2014-07-12 17:25:50
阅读次数:
152
C语言中的函数指针
函数指针的概念: 函数指针是一个指向位于代码段的函数代码的指针。
函数指针的使用:
#include
typedef struct (*fun_t) (int,int);
fun_t pf;
int add(int a, int b)
{
return a+b;
}
int sub(int a,int b)
{
retu...
分类:
编程语言 时间:
2014-07-08 14:40:05
阅读次数:
217
既然“指针”的使用者一不小心就可能导致内存泄漏,那么我们如何能够使得指针的使用变得更安全呢?从C++面向对象的角度分析,我们有没有可能将“指针”封装起来,使得用户不直接接触指针,而使用一个封装后的对象来替代指针的操作呢?
答案是显然的,“智能指针”(smart pointer)正解决这类问题,尤其是在防止内存泄漏方面做得非常突出。C++标准库std中提供了一种“智能指针类”名为"...
分类:
编程语言 时间:
2014-06-15 15:04:11
阅读次数:
352