美文网首页C++
C++ 复习笔记 (之一)

C++ 复习笔记 (之一)

作者: 芒鞋儿 | 来源:发表于2018-09-10 09:53 被阅读18次

因为是自己复习时候的笔记,跳跃性比较大。

(1)const 放在成员函数前和放在成员函数后

放在前面表示返回类型:

void const getPt(int, int):

https://blog.csdn.net/lz20120808/article/details/46662569

放在成员函数后:表示不改变成员函数类型


void SetPt (int, int) const;

void OffsetPt (int, int) const;

(2)抽象類就是virtual,沒有abstract,不能和java搞在一起

(3)auto
一般auto 是自动转换类型,动态语言的实现,不是在编译时候进行转换,而是运行时候生成。C++ 是静态语言,而相比之下Python这类动态语言,也就是在运行时能够自动进行类型生成和转换比较受到欢迎,在C++11之后(14,17,18)就开始吸收别的语言的有点。

auto f = 3.14;  //double
auto s("hello");  //const char*
auto z = new auto(9);  //int *
auto x1 = 5, x2 = 5.0, x3 = 'r'; 

在使用vector 容器中的iterator以及const_iterator 的时候,auto 比较好用:

vector<string> stringVector(10,"hello");
for (auto iter = cbegin(stringVector); iter != cend(stringVector): ++iter) {
      cout << *iter << endl; 
}

(4)移动语义:
所有的STL容器都包含了移动构造函数和移动赋值运算符,从而实现移动语义。这样做的一大好处是可以通过传值的方式从函数返回STL容器,而不会降低性能。

vector<int> createVectorOfSize(size_t size)
{
     vector<int> vec(size);
     int contents = 0;
      for (auto& i : vec ) {
            i = contents++;
      }
}

vector<int> myVector;
myVector = createVectorOfSize(123);

如果没有移动语义,会从函数中返回vec 的 拷贝副本,赋予 myVector. 使用移动语义可以回避拷贝。例如:

class Element
{
       public:
            Element(int i, const string& str) : mI(i), mStr(str) {}
        private:   
             int mI;
             string mStr;
};

vector<Element> vec;

移动语义实现:

vec.push_back((12, "Twelve"));

(5)构造函数的delete

RoundRobin(const RoundRobin& src ) = delete 

可以抑制一部分构造函数的默认生成,替代private 方式

https://blog.csdn.net/u012333003/article/details/25299939

(6) Typename:

Typename std::vector<T>::iterator mCurElem;

Typename (1)用于指定模板参数,即泛型编程(模板编程)的功能,(2)当模板参数 用于访问迭代器类型,则必须指定typename

相关文章

  • C++ 复习笔记 (之一)

    因为是自己复习时候的笔记,跳跃性比较大。 (1)const 放在成员函数前和放在成员函数后 放在前面表示返回类型:...

  • 2018-11-01

    增加淘宝店宝贝 英语趣配音 日常口语对话 课程复习预习整理笔记 练习编程 复习高数线代 复习数据结构 学习c++ ...

  • C++ Primer Plus第6版18个重点笔记

    下面是我看《C++ Primer Plus》第6版这本书后所做的笔记,作为备忘录便于以后复习。 笔记部分### C...

  • C++:复习笔记3

    conversion function non-explicit-one-argument ctor 如果如下写就...

  • C++:复习笔记1

    guard防卫试声明 inline关键字 1、写到head里面,class内部的小函数可能是inline方式2、可...

  • NDK | C++ 复习笔记

    前置知识 这篇文章的内容会涉及以下前置 / 相关知识,贴心的我都帮你准备好了,请享用~ 《NDK | C 语言复习...

  • C++:复习笔记2

    static 类成员元素多个object只有一份数据 static 类成员函数静态函数没有this指针,只用于访问...

  • 【C++温故知新】指针

    这是C++类重新复习学习笔记的第 二 篇,同专题的其他文章可以移步:https://www.jianshu.com...

  • 【C++温故知新】循环与分支

    这是C++类重新复习学习笔记的第 三 篇,同专题的其他文章可以移步:https://www.jianshu.com...

  • 【C++温故知新】函数

    这是C++类重新复习学习笔记的第 四 篇,同专题的其他文章可以移步:https://www.jianshu.com...

网友评论

    本文标题:C++ 复习笔记 (之一)

    本文链接:https://www.haomeiwen.com/subject/hvunbftx.html