菜鸟笔记
提升您的技术认知

C++ 笔记 第36页

C+++string类如何判断字符串为空

菜鸟阅读 : 7074赞(1)

string类是C++STL类之一,有很丰富的接口,判断string为空是经常用到的操作。 string类为空,实际也就是元素为0个。 可以按照如下方式判断: 1、string类有自己的成员函数empty, 可以用来判断是否为空: stri...

C++ std::to_string

菜鸟阅读 : 4141赞(1)

考虑经常用的转字符串的方法: std::stringstream ss; ss << 1.23; std::string aaa = ss.str(); 现在有个更简洁的: std::string aaa = std::to_s...

指针函数和函数指针

菜鸟阅读 : 2151赞(1)

概述 指针函数和函数指针是C语言里两个比较绕的概念。但是不仅面试题爱考,实际应用中也比较广泛。很多人因为搞不清这两个概念,干脆就避而远之,我刚接触C语言的时候对这两个概念也比较模糊,特别是当指针函数、函数指针、函数指针变量、函数指针数组放在...

构造函数、析构函数和虚函数的关系

菜鸟阅读 : 2169赞(1)

首先明确两点 构造函数不可能定义为虚函数 虚函数的目的是通过父类引用或者指针调用子类的成员函数。而构造函数的目的是创建对象。创建子类对象时,将调用子类的构造函数,而不是父类的构造函数。子类的构造函数将使用父类的一个构造函数。这种顺序不同于继...

自己动手实现list容器

菜鸟阅读 : 2634赞(1)

1. 序:    本文参考了侯捷的 《STL 源码分析》一书,出于兴趣,自行实现了简单的 list 容器。    学习了 STL 的 list 容器的源代码,确实能够提高写链表代码的能力。其中的 sort 函数,可谓是非常神奇。。。 2. ...

自己动手实现vector容器

菜鸟阅读 : 3181赞(1)

本文参考了侯捷的 《STL 源码分析》一书,出于兴趣,自行实现了简单的 vector 容器。 之后会陆续上传 list, deque 等容器的代码,若有错误,欢迎留言指出。 vector 容易实现的几点注意事项: 1. 由于vector 是...

智能指针和移动语义

菜鸟阅读 : 2097赞(1)

intro to smart pointer and move semantics 1. 裸指针导致的内存泄漏问题 考虑下面这个函数,在这个函数中我们动态申请了一片内存。 void someFunction() { Resource *pt...

右值引用

菜鸟阅读 : 3095赞(1)

右值引用 1. 什么是右值引用 右值引用是C++11新加的一种引用类型,是一种仅能绑定到右值上的引用。不同于左值引用仅用一个&表示,右值引用用两个&&表示。 int x{ 5 }; int& lref{ x ...

如何正确删除vector中的元素

菜鸟阅读 : 8065赞(1)

0. 删除vector中的指定元素 今天来探讨C++中的一个基础问题。如何正确地删除vector中符合条件的某元素。比如,有一个vector nums = {1, 2, 2, 2, 2, 3, 5},要求删除nums中所有值为2的元素。C+...

vector 中元素的删除

菜鸟阅读 : 3082赞(1)

vector 中删除元素的方法是:b.erase(it);  //b是vector, it 是 vector::iterator 但是删除vector 中的元素有些诡异(^_^),稍不注意,就会出错。  下面先给出基本v...