自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (2)
  • 收藏
  • 关注

原创 C++右值引用

概述  右值引用的概念有些读者可能会感到陌生,其实他和C++98/03中的左值引用有些类似,例如,c++98/03中的左值引用是这样的:int i = 0;int& j = i;  这里的int&是对左值进行绑定(但是int&却不能绑定右值),相应的,对右值进行绑定的引用就是右值引用,他的语法是这样的A&&,通过双引号来表示绑定类型为A的右值。通过&&我们就可以很方便的绑定右值了,比如我们可以这样绑定一个右值:int&& i

2022-05-12 15:30:08 874 1

原创 返回类类型的函数

#include <iostream>using namespace std;class A { static int count; int indent;public: A () : indent (count++) { cout << "[" << this << "] "; cout << "A () called "; cout << "co

2022-05-12 14:37:51 655

原创 = default

对于C++ 11标准中支持的default函数,编译器会为其自动生成默认的函数定义体,从而获得更高的代码执行效率,也可免除程序员手动定义该函数的工作量。C++的类有四类特殊成员函数,它们分别是:默认构造函数析构函数拷贝构造函数拷贝赋值运算符这些类的特殊成员函数负责创建、初始化、销毁,或者拷贝类的对象,如果程序员没有显式地为一个类定义某个特殊成员函数,而又需要用到该特殊成员函数时,则编译器会隐式的为这个类生成一个默认的特殊成员函数。例如:class X{private: int a;

2022-05-10 17:40:42 421

原创 弃置函数 = delete

如果使用特殊语法 = delete ;取代函数体,那么该函数被定义为弃置的(deleted)。任何弃置函数的使用都是非良构的(程序无法编译)。C++11中,对于deleted函数,编译器会对其禁用,从而避免某些非法的函数调用或者类型转换,从而提高代码的安全性。对于 C++ 的类,如果程序员没有为其定义特殊成员函数,那么在需要用到某个特殊成员函数的时候,编译器会隐式的自动生成一个默认的特殊成员函数,比如默认的构造函数、析构函数、拷贝构造函数以及拷贝赋值运算符。为了能够让程序员显式的禁用某个函数,C++1

2022-05-09 17:12:58 501

原创 override

指定一个虚函数覆盖另一个虚函数。在成员函数声明中,override 可以在紧随声明符之后并在 纯说明符 之前(如有使用)的 虚说明符序列 中出现。在类定义内成员函数定义中,override 可以在紧随声明符之后并紧接 函数体 之前的 虚说明符序列 中出现。在成员函数的声明或定义中,override 说明符确保该函数为虚函数并覆盖某个基类中的虚函数。如果不是这样,那么程序为谬构(生成编译错误)。override 是在成员函数声明符之后使用时拥有特殊含义的标识符:其他情况下它不是保留的关键词。在C

2022-05-09 13:36:29 552

原创 final说明符

指定某给虚函数不能在派生类中被覆盖当在虚函数声明或定义中使用时,final 说明符确保函数为虚并指定其不可被派生类覆盖,否则程序为谬构(生成编译时错误)。某个类不能被派生当在类定义中使用时,final 指定此类不可在另一类的定义中的 基类说明符列表 中出现(换言之,不能派生于它),否则程序非良构(生成编译时错误)。class Base{ virtual void foo();};class A : Base{ void foo() final; void ..

2022-05-09 11:01:29 117

翻译 C++ 隐式类类型转换

C++ 隐式类类型转换《C++ Primer》中提到:“可以用 单个形参来调用 的构造函数定义了从 形参类型 到 该类类型 的一个隐式转换。”这里应该注意的是, “可以用单个形参进行调用” 并不是指构造函数只能有一个形参,而是它可以有多个形参,但那些形参都是有默认实参的。”那么,什么是“隐式转换”呢? 上面这句话也说了,是从 构造函数形参类型 到 该类类型 的一个编译器的自动转换。pra...

2019-06-18 14:57:01 787

翻译 C++ 拷贝构造函数和赋值运算符

本文主要介绍了拷贝构造函数和赋值运算符的区别,以及在什么时候调用拷贝构造函数、什么情况下调用赋值运算符。最后,简单的分析了下深拷贝和浅拷贝的问题。拷贝构造函数和赋值运算符在默认情况下(用户没有定义,但是也没有显式的删除),编译器会自动的隐式生成一个拷贝构造函数和赋值运算符。但用户可以使用delete来指定不生成拷贝构造函数和赋值运算符,这样的对象就不能通过值传递,也不能进行赋值运算。clas...

2019-06-15 15:39:29 189

原创 C++ Deleted

Deleted 函数背景问题对于 C++ 的类,如果程序员没有为其定义特殊成员函数,那么在需要用到某个特殊成员函数的时候,编译器会隐式的自动生成一个默认的特殊成员函数,比如拷贝构造函数,或者拷贝赋值操作符。例如:class X{ public: X(); }; int main(){ X x1; X x2=x1; // 正确,调用编译器隐式生成的默认拷贝构造函数 ...

2019-06-15 15:20:49 408

翻译 C++ Defaulted

首先我们知道C++的类具有4种特殊成员函数,它们分别是:默认构造函数即无参构造函数、析构函数、拷贝构造函数以及拷贝赋值函数。如果程序员没有显示地为某一个类定义某个特殊成员函数,而又需要用到该特殊成员函数时,那么编译器就会隐式的为这个类生产一个默认的特殊成员函数。例如:class X{private:int a;};X x; 在上面的代码里面,我们并没有定义类X的默认...

2019-06-15 15:07:44 194

转载 文章标题

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://ticktick.blog.51cto.com/823160/196765 最近项目中使用boost库的智能指针,感觉智能指针还是蛮强大的,在此贴出自己学习过程中编写的测试代码,以供其他想了解boost智能指针的朋友参考,有讲得不正确之处欢迎指出讨论。当然,使用bo

2015-03-15 10:12:01 375

主要对K3的讲解

主要对K3的讲解,结合TTCN语言进行的简要分析和讲解,对于初学者不错

2018-03-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除