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

国外设计网站大全做寄生虫对自己的网站有影响吗

国外设计网站大全,做寄生虫对自己的网站有影响吗,女教师遭网课入侵视频,怎么做免费的产品图片网站个人主页:北海 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏✨收录专栏:C/C🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!&#x1f9…
  •  个人主页:北·海
  •  🎐CSDN新晋作者
  •  🎉欢迎 👍点赞✍评论⭐收藏
  • ✨收录专栏:C/C++
  • 🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗

目录

前言 

一.“大众情人”:静态数据成员

二.永葆初心之常成员-const

1.const数据成员的初始化方式:

2.const修饰的对象与成员函数

 结语:


前言 

 在C++中,const和static是两个重要的关键字,它们分别用于声明常量和静态成员。const用于指定一个值在程序运行期间将保持不变,提高代码的可读性和安全性;而static用于指定一个成员在类的所有实例之间共享,提供静态的存储和管理方式。理解const和static的概念以及正确应用它们可以帮助我们编写更健壮和高效的C++代码。

一.大众情人”:静态数据成员

思考一个问题

在c++中,创建对象时候,你不定义全局变量的情况下,如何实现?

  在类中定义一个变量吗?

class Human{private:int count= 0;//使用类内初始值public:Human(){count++;
}};

这种方法肯定是行不通的,因为每个对象都有一个count变量,每个对象的count初始值为0,然后再执行构造函数,最终的结果是,无论有多少个对象,每个对象的count值都为1

1.如果在c语言中分文件的开发模式下,如何定义全局变量和访问呢?

Human.cpp#include "Human.h"
int count = 0;Human::Human() {count++;
}
int Human::getAge() {return age;
}void Human::setAge(int age) {this->age = age;
}
int Human::getCount() {return count;
}
Human.h文件#pragma once
extern int count;class Human {private:int age;
public:Human();void setAge(int age);int getAge();int getCount();
};
main.cpp文件#include <iostream>
#include "Human.h"
using namespace std;int main() {Human m1,m2,m3;cout << "总人数" << m1.getCount() << endl;
}

根据上面再c语言中使用extern进行全局变量的分文件开发还是很麻烦的,再c++中可以使用静态变量进行实现

2.C++中解决定义全部变量的方式

关键字 : static

当定义为静态变量时候,该变量就不会在栈区了,不属于任何一个对象,而是属于整个类

定义方法 : 可以再Human.h文件类中进行先声明,例如  

Human{
private:static int count;//声明非常量的静态成员变量
const static int count = 0 ;//常量静态成员变量};

对于非const的类静态成员,只能在类的实现文件中初始化。

const类静态成员,可以在类内设置初始值,也可以在类的实现文件中设置初始值。(但是不要同时在这两个地方初始化,只能初始化1次)

在给非常量静态成员变量赋值的方法

int Human :: count = 0;
格式 :  变量类型 类名 :: 变量名 = 初始值;

给非常量静态变量可以直接定义赋值,必须在类外

static int a = 10;
可以在类外的任何地方进行定义

在声明中,不能直接对非常量静态成员变量赋值,但是可以给常量静态成员变量在声明时赋值

3.哪些函数可以访问静态成员变量

1) 类的普通成员函数,可以直接访问静态成员(可读可写)

class Human{private:
static int a = 0 ;public:int getA(){
a++;//可以对静态成员变量进行改写return a;//可读}
};

2) 静态普通函数

问题:当在非静态普通函数里,如何去访问静态成员变量

void test() {cout << "总人数: ";// ??? 没有可用的对象来访问getCount()
}

如果为了访问总的人数,而特意去创建一个对象,就很不方便,而且得到的总人数还不真实(包含了一个没有实际用处的人)

访问方式:

通过对象访问,此时会与预期结果不符合

通过类来访问

由此可以看出,通过类也不能访问到,此时可以将getcount函数改为static类型的

解决方法:

将getCount函数定义为static,此时就可以访问到了

类的静态方法:

  1. 可以直接通过类来访问【更常用】,也可以通过对象(实例)来访问。
  2. 在类的静态方法中,不能访问普通数据成员和普通成员函数(对象的数据成员和成员函数)

3.静态方法中,不能访问this指针,因为this指针是属于实例对象的

4.静态方法中,只能访问静态数据成员

总结 :

1) .静态数据成员

对象的成员函数(没有static的成员函数)内部,可以直接访问“静态数据成员”

类的静态成员函数(有static的成员函数)内部,可以直接访问“静态数据成员”

即:所有的成员函数,都可以访问静态数据成员

类不能直接访问普通的静态数据成员

2) .静态成员函数

对象可以直接访问静态成员函数

类可以直接访问静态成员函数

在类的静态成员函数(类的静态方法)内部,不能直接访问this指针和对象的数据成员!

在类的静态成员函数(类的静态方法)内部,只能访问类的数据成员

最后两句对象的数据成员函数只得就是非静态的成员变量,类的数据成员函数,此时这个成员函数属于整个类,前面已经提到过,此时指的就是static修饰的成员变量

二.永葆初心之常成员-const

1.const数据成员的初始化方式:

  • 使用类内值(C++11支持)
class Test{private:const int a = 1;...
};
  • 使用构造函数的初始化列表
class A{private:const int a;
public:A(int _a):a(_a){}};

(如果同时使用这两种方式,以初始化列表中的值为最终初始化结果)

注意: 不能在构造函数或其他成员函数内,对const成员赋值!

2.const修饰的对象与成员函数

【类比】:专一男就是const对象,撩妹方法,就是普通的成员函数,如果允许专一男调去撩妹,那么专一男,也就不专一了!

以下示例:const对象访问普通成员函数

解决方案:

如果一个成员函数内部,不会修改任何数据成员,就把它定义为const成员函数。此时只需要输出a的值,所以将print函数,定义为const类型

注意const的放置位置

总结 : 如果声明的对象只去访问不改变值得函数,则可以将对象用const修饰,如果该成员函数内只读,则也将该函数用const修饰,const对象只能访问const修饰得成员函数,普通对象可以访问任意成员函数,

 结语:

在C++中,const和static是两个强大的关键字,它们为我们提供了更加丰富和灵活的编程工具。const使得代码更加安全可靠,通过禁止对常量进行修改确保程序的正确性。static则提供了一种在类的所有实例之间共享数据和行为的机制,有助于节约内存和简化程序结构。深入理解const和static的特性和使用方式,我们能够更加自如地控制数据的可变性和访问方式,编写出更稳定、可扩展和易于维护的代码。const和static是C++编程中的重要概念,它们的合理运用将大大提升代码质量和开发效率。


 

http://www.yayakq.cn/news/237017/

相关文章:

  • 南京网站优化多少钱网站运营托管协议
  • 中国建设人才信息网官网鞍山seo
  • 自己做静态网站的步骤重庆公司地址
  • 模板和网站是一体的吗wordpress网站重定向
  • 建材类网站建设需要的资料行业猎头网
  • 合肥做网站工作室我们的网站
  • 网站上传到虚拟空间wordpress文章点击数插件
  • 留电话咨询看房用v9做网站优化
  • 如何建网站服务器福建百度推广
  • 安徽工程建设信息网站6上海市建设工程信息网
  • 在局网站 作风建设方案创建网站英文
  • 网站开场flash怎么做的wordpress 密码算法
  • 企业网站建设ejiew网站虚拟空间购买
  • 建设工程规范下载网站网站友情链接美化代码
  • 莱州网站建设服务关于网上商城的推广方法
  • 游戏开发网站建设台州大型网站建设
  • 做网站用什么开源程序十大创意网站
  • 有哪些网站程序网站开发外文文献
  • 如何提高网站的点击率凡客建网站
  • 相册特效手机网站鞍山怎么样做一个自己的网站
  • 江苏优质网站制作公司怎么个人网站设计
  • 珠宝首饰网站开发做网站首选什么语言
  • 房地产网站加盟wordpress电商模板下载
  • 个人网站服务器用家用光纤宽带做网站
  • 榆林哪里做网站wordpress集成qq登录
  • 基于.NET的电子商务网站开发1688网站链接图片怎么做
  • 网站建设的互动性wordpress微信模块插件
  • 潍坊网络建站模板集团做网站
  • 南宁网站建站公司织梦模板添加网站地图
  • 动易论坛官方网站莱州房产网房产信息