请问:类声明中这两句重载运算符的声明代码中的const各代表什么含义?
operator const double *() const;
const Position& operator+=(const Position& positionSrc);
特别是第一句中的第一个const,实在搞不懂什么意思?急盼!
operator const double *() const;
const Position& operator+=(const Position& positionSrc);
特别是第一句中的第一个const,实在搞不懂什么意思?急盼!
那么这几个double的内存空间,是不可以被修改的。编译器会阻止你修改内存的语法出现,实际上改了就改了。
谢谢!
能再详细点吗?最好把上面的那几个const都说明下什么用法,呵呵,比如,const函数,const引用作为参数,const引用作为函数返回值等等!可operator const double *() const;中,const夹在operator和double *()中间是什么意思????????
谢谢!
const在* 号右边 则指向的内存地址的内容是不可以修改的,但该指针的指向可以改动
double y2 = 0 ;
const double& fun1(int x)
{
y1 = x ;
return y1 ;
} double& fun2(int x)
{
y2 = x ;
return y2 ;
}
void CEx0625Dlg::OnButton4()
{
const double& z1 = fun1(3);
double& z2 = fun2(3);
}
:\test\Ex0625\Ex0625Dlg.cpp(255) : error C2440: 'initializing' : cannot convert from 'const double' to 'double &'
这个const表示,=过程中,不能修改positionSrc的值
operator const double *() const;
这句代码表示的是重载的什么运算符?*?,前面加上const double关键字后是个什么样的*号?其实还是为什么又是常量,又是双精度的符号是什么东西?我看了好几本c++书上都没有这么用重载运算符的!
大家帮帮我这个新手菜鸟吧!感激!!!
--
const double *
就像CString类的
operator LPCTSTR() const;一样
--------- CString str = "str";
const char * pszStr = (LPCTSTR)str;
double y2 = 0 ;
const double& fun1(int x)
{
y1 = x ;
return y1 ;
} double& fun2(int x)
{
y2 = x ;
return y2 ;
}
void CEx0625Dlg::OnButton4()
{
const double& z1 = fun1(3);
double& z2 = fun2(3);
}