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

哈尔滨门户网站是什么长沙做网站最好的公司

哈尔滨门户网站是什么,长沙做网站最好的公司,网络培训的网站建设,凯里网站建设如何收费前言 学习了C语法这么久了#xff0c;我其实觉得#xff0c;我们学习一门语言应该更加注重使用性#xff0c;对于语法的细节可以通过具体的项目去重新造轮子的时候再去抠细节#xff0c;也就是说你得学会先走#xff0c;在去想我们如何走的#xff0c;身体的哪些肌肉在发…前言 学习了C语法这么久了我其实觉得我们学习一门语言应该更加注重使用性对于语法的细节可以通过具体的项目去重新造轮子的时候再去抠细节也就是说你得学会先走在去想我们如何走的身体的哪些肌肉在发力这些对于我们目前可以不用在意细节结合实际来去记忆这个才是高效可取的今天的前言唠叨就到这人呀如果你有兴趣就接下来看下面的几个问题。 1.C是如何实现函数重载的呢  为什么要有函数重载呢我们发现在C语言中我们不同的参数就会重新定义一个一模一样的函数来去调用这个接口这对我们来说违背设计原则代码的复用低整个项目就会看着非常庞大。C在这个方面提出来第一个改进。 回答C在编译阶段 允许同一作用域下的功能相近的不同形参的函数定义为同一函数名在底层汇编根据不同参数形成不同的函数名放入符号表中在后续代码生成可以根据函数名的不同来实现对不同参数的同名函数调用。 除此之外使用extern关键字可以使用C语言的风格来进行编译。就不支持函数重载。 2.指针和引用的区别 为什么要有引用呀打个比方我们通常对于其他的经常使用的数据我们每一次开一个空间再把他的地址存进去在解引用会不会显示的很繁琐也很浪费CPU资源本质是是没有问题的可是我们直接操作变量里面的数据是不是更加便利一点引用的概念就被提出来了。 回答①指针是地址引用是给变量起别名。指向的是变量里面的数值可以直接操作数据不用接引用我们对指针是地址对引用是里面的数值考虑一些特殊情况指针可以为空或者野指针因为新的地址变量可以为空但是引用不能为空他必须指向一个对象。 ②指针和引用可以作为形参指针可以修改指向的变量所以可以通过传递大型对象的指针来避免开辟空间指针可以为悬空只要不接引用就不会报错但是引用直接传的就是变量我们操作变量就能操作数据更加简洁。 ③因为指向的是底层变量的数据所以他的底层实现还是用指针的思想实现的。除此之外指针和引用做返回值代表的意思也是不一样的。指针可以返回动态开辟的空间引用可以直接返回可以操作的对象比如类成员或者全局的变量 。 ④指针的具体场景内存分配数组操作链表图等引用的场景参数避免复杂开销返回值。 3.nullptr和NULL的区别 为什么要提出nullptr呢其实就是对0这个值的再次细粒度划分避免二义性到底是空地址还是数值0。 回答nullptr是一个类型安全的空指针常量。可以调用nullptr_t 得构造方法去隐式的转换不同的类型而NULL确实需要自己去进行强制类型转换并不安全压根就不知道是整数类型还是之指针类型。  4.如何替换宏 我们知道程序进行预处理的第一步就是处理#子开头的程序比如程序替换头文件展开等等但是宏不进行类型安全检查然后运算过程时十分容易出现问题。这个时候就得想到替换方案。 宏的优点代码的复用性高提高性能。 宏的缺点会因为运算符的优先级导致运算出错没有类型检查不安全不方便调试。  回答 const 和enum 来替换宏成员内连函数可以替换宏函数。 5.类与对象 5.1理解面向你对象和面向过程 面相对象更加关注的是类与类对象之间的交互。面向过程更关注具体过程的实现。在解决实际问题上面相对象更加完整每个对象都有自己的属性和方法而且更容易扩展。耦合度关联度低比较松散面向过程是一些结构体和函数比较紧凑。 面相对象的特性封装、继承、多态。 封装         第一层理解用C语言实现一个栈定义结构体变量和函数把结构体当做参数传进去。         第二层理解为了更规范的去使用数据。避免一会访问数据一会访问方法。C把想访问的定义为公有不想 访问的去定义为私有。同时只能通过函数去调用数据。这样的管理更符合高内聚低耦合的设计原则也更方便管理数据。 继承         类层次的复用给类之间加上关系更加简化代码逻辑。 多态         静态的多态和动态的多态静态的多态就是函数重载或者cout自动识别类型以及函数模版。动态的多态是运行时多态对象里有虚表指针指向虚表虚表里存放虚函数子类对象可以重写父类对象的虚函数指向父类调父类指向子类调子类。 5.2 默认成员函数 简单理解为初始化清理括号等号移动构造移动复制 取地址const 取地址。实现一个简易的string。见下面代码 #include iostream #include cstring #include utility // for std::swap using namespace std; class String { public:// 默认构造函数String() : data_(new char[1]) {*data_ \0;}// 构造函数String(const char* str) : data_(new char[strlen(str) 1]) {strcpy(data_,str);}// 拷贝构造函数String(const String rhs) : data_(new char[rhs.size() 1]) {strcpy(data_, rhs.c_str());}// 移动构造函数String(String rhs) noexcept : data_(rhs.data_) {rhs.data_ nullptr;}// 拷贝赋值运算符String operator(const String rhs) {if (this ! rhs) {String temp(rhs);swap(temp);}return *this;}// 移动赋值运算符String operator(String rhs) noexcept {if (this ! rhs) {delete[] data_;data_ rhs.data_;rhs.data_ nullptr;}return *this;}// 析构函数~String() {delete[] data_;}// 获取字符串大小size_t size() const {return strlen(data_);}// 获取原始C字符串const char* c_str() const {return data_;}// 交换函数void swap(String rhs) {std::swap(data_, rhs.data_);}// 下标运算符char operator[](size_t index) {return data_[index];}const char operator[](size_t index) const {return data_[index];}// 比较运算符bool operator(const String rhs) const {return strcmp(data_, rhs.data_) 0;}// 比较运算符bool operator(const String rhs) const {return strcmp(data_, rhs.data_) 0;} private:char* data_; };int main() {String s1(Hello);String s2(World);String s3 s1;s3 std::move(s2); // 使用移动赋值运算符std::cout s1: s1.c_str() std::endl;//std::cout s2: s2.c_str() std::endl;std::cout s3: s3.c_str() std::endl;return 0; }5.3其他成员 static修饰类成员 const修饰成员函数 this指针可以为空指针不解引用就不会崩 this指针在栈区因为是形参VS为了提高效率放入寄存器中他指向的对象在堆栈或者全局但他本身计算临时变量通常在栈区。 友元友元函数可以直接访问全部的成员。加一个friend关键字一般用于重写和 内部类,内部类就是外部类的友元反过来不是内部类可以通过外部类的对象参数进行访问外部类枚举类型和static可以直接访问。
http://www.sczhlp.com/news/187145/

相关文章:

  • 镇江网站设计公司报价网站怎么做响应
  • 哪些网站是做包装的网站外链建设是什么
  • 电商网站开发常用代码网站服务器机房
  • 小说发表哪个网站赚钱新乡网站建设专业熊掌网络
  • 杭州网站建设代理商05网课时作业答案
  • 学校网站管理与建设办法淄博公司网站建设价格
  • 艺术品电商网站开发网站做自动群发百度搜录
  • 北京网站制作设计公司排名关于网站建设的合同范本
  • 会员充值网站怎么做有多个网页的大网站如何做
  • 周浦手机网站建设公司dede做英文网站优化
  • 东莞齐诺做网站中国设计网站官网地址
  • asp.net做网站的步骤如何制作电子印章
  • 动易网站地图关于建设单位网站的方案
  • 网站模板如何制作自己做的网站发布到网上视频播放不了
  • 苏州哪家做网站wordpress个人博客下载
  • 住房建设建设部网站龙岩网站设计制作
  • 用织梦做网站能练技术吗赣州91人才网赣州招聘信息
  • 网站开发需求分析编写目的抖音同城推广怎么弄
  • 网页建站素材模板如何开发一款小游戏
  • 杭州 建设网站制作公司网页设计流程
  • 青岛工程建设监理公司网站微信怎样创建公众号
  • reactjs 做网站网络ui设计培训班
  • 浙江省建设厅网站地址wordpress termmeta
  • php做网站会遇到的问题中国建设银行淮南分行网站
  • 网站建设知识库推广一款app的营销方案
  • 万网企业网站建设旅店网站建设规划书
  • dedecms做的网站如何上线wordpress编辑器增加按钮
  • 北京正规网站建设公司哪家好商洛网站制作
  • 有FTP免费网站如何更改公司网站内容
  • 如何建设一个专业的网站查企业信息的国家网站