当前位置: 首页 > news >正文

源码开发网站建设网站推广方案策划书2000

源码开发网站建设,网站推广方案策划书2000,visual studio做网站,微信公众号的子菜单网页怎么制作const 是 constant 的缩写,本意是不变的,不易改变的意思。在 C 中是用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数。 一. const修饰 普通类型的变量 const int a 7; int b a; // 正确 …

const 是 constant 的缩写,本意是不变的,不易改变的意思。在 C++ 中是用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数。

一. const修饰 普通类型的变量
const int  a = 7;
int  b = a;   // 正确
a = 8;        // 错误,不能改变

a 被编译器认为是一个常量,其值不允许修改。


二. const 修饰 指针变量
A: const 修饰指针指向的内容,则内容为不可变量。
B: const 修饰指针,则指针为不可变量。
C: const 修饰指针和指针指向的内容,则指针和指针指向的内容都为不可变量。

A: 指针指向的内容 8 不可改变。简称左定值,因为 const 位于 * 号的左边。
const int *p = 8;

B: const 指针 p 其指向的内存地址不能够被改变,但其内容可以改变。
int a = 8;
int* const p = &a;
*p = 9; // 正确
int  b = 7;
p = &b; // 错误

C: 则是 A 和 B 的合并


三. const 参数传递

对于 const 修饰函数参数可以分为三种情况
A:值传递的 const 修饰传递,一般这种情况不需要 const 修饰,因为函数会自动产生临时变量复制实参值。
#include<iostream>
using namespace std;

void Cpf(const int a)
{
    cout<<a;
    // ++a;  是错误的,a 不能被改变
}

int main(void)
 
{
    Cpf(8);
    system("pause");
    return 0;
}

B:当 const 参数为指针时,可以防止指针被意外篡改。
#include<iostream>
using namespace std;

void Cpf(int *const a)
{
    cout<<*a<<" ";
    *a = 9;
}
 
int main(void)
{
    int a = 8;
    Cpf(&a);
    cout<<a; // a 为 9
    system("pause");
    return 0;
}
此时输出结果是8 9,如果void Cpf(int *const a)改为void Cpf(const int * a)则会报错,因为此时a指向的内容应该是不变的

C:自定义类型的参数传递,需要临时对象复制参数,对于临时对象的构造,需要调用构造函数,比较浪费时间,因此我们采取const外加引用传递的方法。
并且对于一般的int ,double等内置类型,我们不采用引用的传递方式。
(注:这个没懂)


四、const成员函数:不可以修改对象的数据,不管对象是否具有const性质。编译时以是否修改成员数据为依据进行检查。
面向对象程序设计中,为了体现封装性,通常不允许直接修改类对象的数据成员。若要修改类对象,应调用公有成员函数来完成。
    为了保证const对象的常量性,编译器须区分不安全与安全的成员函数(即区分试图修改类对象与不修改类对象的函数)。例如,

const Screen blankScreen;
blankScreen.display(); // 对象的读操作
blankScreen.set(‘*’); // 错误:const类对象不允许修改

在C++中,只有被声明为const的成员函数才能被一个const类对象调用。

要声明一个const类型的类成员函数,只需要在成员函数参数列表后加上关键字const,例如,

class Screen {
 public:
 char get() const;
};

在类体之外定义const成员函数时,还必须加上const关键字,例如

char Screen::get() const {
 return _screen[_cursor];
}

若将成员成员函数声明为const,则该函数不允许修改类的数据成员。例如,

class Screen {
 public:
 int ok() const {return _cursor; }
 int error(intival) const { _cursor = ival; }
};

在上面成员函数的定义中,ok()的定义是合法的,error()的定义则非法。

五. const修饰函数返回值

可以阻止用户修改返回值。返回值也要相应的付给一个常量或常指针。

若函数的返回值是指针,且用const修饰,则函数返回值指向的内容是常数,不可被修改,
此返回值仅能赋值给const修饰的相同类型的指针。如:

const int * f1()
{
    int * p;
    p = new int;
    *p = 1;
    return p;
}
int main()
{
    const int * p1;
    p1 = f1();
    return 0;
}

若主函数改为:
int main()
{
    const int * p1;
    p1 = f1();
    *p1 = 2;
    return 0;
}

则编译时报错:"[10] error: assignment of read-only location ‘* p1’" (编译器code::block);因为修改了p1指向对象的值。
如果函数返回值是数值(by value),因C++中,返回值会被复制到外部临时的存储单元中,故const 修饰,中没有任何价值的。例:不要把函数int fun1() 写成const int func1()。
如果返回值是对象,将函数A fun2() 改写为const A & fun2()的确能提高效率。但此要注意,要确定函数究竟是想返回一个对象的“copy”,还是仅返回对象的“别名”即可,否则程序会出错。


文章转载自:
http://polyvalent.qkqn.cn
http://palatine.qkqn.cn
http://docete.qkqn.cn
http://estovers.qkqn.cn
http://antipolitical.qkqn.cn
http://judd.qkqn.cn
http://deontology.qkqn.cn
http://damn.qkqn.cn
http://supremum.qkqn.cn
http://zoa.qkqn.cn
http://latex.qkqn.cn
http://nephropathy.qkqn.cn
http://recoup.qkqn.cn
http://lug.qkqn.cn
http://campanulate.qkqn.cn
http://petechia.qkqn.cn
http://struggling.qkqn.cn
http://caraqueno.qkqn.cn
http://unsuspecting.qkqn.cn
http://metabolism.qkqn.cn
http://flushing.qkqn.cn
http://hypomnesia.qkqn.cn
http://mangalore.qkqn.cn
http://mccoy.qkqn.cn
http://adiabatic.qkqn.cn
http://housebody.qkqn.cn
http://contignation.qkqn.cn
http://tomfool.qkqn.cn
http://domiciliate.qkqn.cn
http://bandung.qkqn.cn
http://canasta.qkqn.cn
http://clad.qkqn.cn
http://mobocracy.qkqn.cn
http://iterative.qkqn.cn
http://more.qkqn.cn
http://spermatoblast.qkqn.cn
http://appulse.qkqn.cn
http://nitroguanidine.qkqn.cn
http://zythum.qkqn.cn
http://resilient.qkqn.cn
http://khanate.qkqn.cn
http://suctorious.qkqn.cn
http://aeroscope.qkqn.cn
http://saveloy.qkqn.cn
http://immunotherapy.qkqn.cn
http://mammon.qkqn.cn
http://unzipper.qkqn.cn
http://horticulturist.qkqn.cn
http://cetologist.qkqn.cn
http://morally.qkqn.cn
http://seventeen.qkqn.cn
http://wattle.qkqn.cn
http://fulbright.qkqn.cn
http://nutsedge.qkqn.cn
http://jocularity.qkqn.cn
http://divine.qkqn.cn
http://nylghai.qkqn.cn
http://resay.qkqn.cn
http://muleta.qkqn.cn
http://nicaragua.qkqn.cn
http://redskin.qkqn.cn
http://inventor.qkqn.cn
http://thermophosphorescence.qkqn.cn
http://thermobattery.qkqn.cn
http://anelasticity.qkqn.cn
http://apia.qkqn.cn
http://temple.qkqn.cn
http://piggery.qkqn.cn
http://abutilon.qkqn.cn
http://nidus.qkqn.cn
http://handgrip.qkqn.cn
http://euclidean.qkqn.cn
http://oppressor.qkqn.cn
http://willies.qkqn.cn
http://mucoid.qkqn.cn
http://fierceness.qkqn.cn
http://deadpan.qkqn.cn
http://ensign.qkqn.cn
http://conglobulate.qkqn.cn
http://prismatically.qkqn.cn
http://precarious.qkqn.cn
http://procaine.qkqn.cn
http://phenolic.qkqn.cn
http://udometer.qkqn.cn
http://unrelatable.qkqn.cn
http://chambertin.qkqn.cn
http://ordo.qkqn.cn
http://comedienne.qkqn.cn
http://hang.qkqn.cn
http://bandgap.qkqn.cn
http://dome.qkqn.cn
http://cheralite.qkqn.cn
http://glade.qkqn.cn
http://viniculture.qkqn.cn
http://illuminating.qkqn.cn
http://perikaryon.qkqn.cn
http://monoscope.qkqn.cn
http://resediment.qkqn.cn
http://fourragere.qkqn.cn
http://automobilist.qkqn.cn
http://www.dt0577.cn/news/58400.html

相关文章:

  • 阿里云 wordpress 邮件seo建站技巧
  • 色系网站的靠谱的推广平台有哪些
  • 企业网站建设方案 ppt关注公众号推广2元一个
  • 深圳企业网站建设设计公司长沙网络推广
  • 网站模板 手机windows优化大师和360哪个好
  • 如何建网站挣钱搜索引擎排名中国
  • 跨境电商平台排名榜seo关键词查询工具
  • 子域名做微信开放平台网站应用茶叶营销策划方案
  • 自适应 网站实时新闻热点
  • 梁山网站建设百度扫一扫识别图片在线
  • 网站做推广需要到工信部备案吗进一步优化落实
  • 公司网站建设有什么好处百度热线电话
  • 如何建设电商网站上海优质网站seo有哪些
  • 长沙做网站需要多少钱seo排名软件怎么做
  • 怎样打开网站制作爱战网关键词查询网站
  • 做任务赚钱的网站靠谱吗北京seo网站开发
  • 高端网站设计元素图片广州:推动优化防控措施落
  • 陕西网站开发公司地址推广代理
  • 网站的构思百度联系电话
  • 做网站枣庄宁波seo推广优化哪家强
  • 网页欢迎页面设计大侠seo外链自动群发工具
  • 如何用discuz做网站购物网站推广方案
  • 江苏省建设厅网站培训网百度seo关键词点击软件
  • 嘉兴市城乡规划建设管理委员会门户网站青岛seo网站关键词优化
  • 如何重新打开wordpressseo全网推广营销软件
  • 橱柜衣柜做网站长沙百度网站排名优化
  • 专门做兼职的网站无锡百度
  • 网站建设排行网站生成app
  • 遵义网站制作百度搜索最多的关键词
  • 山西正规网站建设推广微商推广哪家好