c++中如何通过函数参数对指针进行赋值
2014-04-22 17:24
309 查看
如果想通过一个函数得到一个类的实例,有两种方式。
方式1、通过函数的 返回值
方法2、通过参数
方法1非常简单,但是增加了参数传递的负担。
通过一个例子来说明方法2的正确方式。
class FeatureInterface{
public:
FeatureInterface();
~FeatureInterface();
public:
void getfeatureclass(int featureIindex,int windowindex,featurebase * feature);
};
这是一个函数,需要通过getfeatureclass方法初始化一个featurebase的实例,但是这样在函数体中直接对feature参数进行赋值是不可以的,因为这本质上是对指针的数值赋值。
正确的方式是下面的方式。
class FeatureInterface{
public:
FeatureInterface();
~FeatureInterface();
public:
void getfeatureclass(int featureIindex,int windowindex,featurebase ** feature);
};
在函数体中通过下面的类似的方式对指针进行初始化。
switch(featureIndex){
case (fi.MagnitudeSpectrum):{
magnitudespectrum f(windowindex);
//magnitudespectrum *f=new magnitudespectrum(windowindex);
*feature=&f;
break;
}
方式1、通过函数的 返回值
方法2、通过参数
方法1非常简单,但是增加了参数传递的负担。
通过一个例子来说明方法2的正确方式。
class FeatureInterface{
public:
FeatureInterface();
~FeatureInterface();
public:
void getfeatureclass(int featureIindex,int windowindex,featurebase * feature);
};
这是一个函数,需要通过getfeatureclass方法初始化一个featurebase的实例,但是这样在函数体中直接对feature参数进行赋值是不可以的,因为这本质上是对指针的数值赋值。
正确的方式是下面的方式。
class FeatureInterface{
public:
FeatureInterface();
~FeatureInterface();
public:
void getfeatureclass(int featureIindex,int windowindex,featurebase ** feature);
};
在函数体中通过下面的类似的方式对指针进行初始化。
switch(featureIndex){
case (fi.MagnitudeSpectrum):{
magnitudespectrum f(windowindex);
//magnitudespectrum *f=new magnitudespectrum(windowindex);
*feature=&f;
break;
}
相关文章推荐
- c++中如何通过函数参数对指针进行赋值
- 是否可以通过绝对内存地址进行参数赋值与函数调用---转载
- 你好,C++(26)如何与函数内部进行数据交换?5.1.3 函数参数的传递
- C++指针作为函数的参数进行传递时需要注意的一些问题
- C++指针作为函数的参数进行传递时注意的问题
- [C++]给指针赋值和通过指针进行赋值的区别?
- C++指针作为函数的参数进行传递时注意的问题
- 通过操作指针,与指针做函数参数'实现字串在主串中出现的次数,然后将出现的部分按照要求进行替换
- (转载)你好,C++(26)如何与函数内部进行数据交换?5.1.3 函数参数的传递
- 通过一个c++程序来理解两个指针的赋值
- 【C/C++语言基础学习】在主函数的定义的指针数组、二维数组通过三级指针在被调用函数分配内存
- C语言:通过函数指针来完成两个数的加减乘除(函数指针当做参数使用)
- C++中用指向数组的指针作函数参数
- 【c++】指针参数是如何传递内存的
- c++ 指针作为函数参数传递
- C++利用二级指针做函数形参来进行修改实参的实例分析
- 【c++】指针参数是如何传递内存的
- 元旦快乐,阖家团圆,幸福安康.C#重载示例(有问重载该如何选择?在C#中可很方便地在智能感知弹出中选择不同参数列表进行使用;不像C/C++那样,要记住编译器自动选择最佳匹配参数列表的概念)
- thiscall仅仅应用于“C++”成员函数(this指针存放于CX寄存器,参数从右到左压)
- [c++]基类对象作为函数参数(赋值兼容规则)