C++学习之路
shanke27
这个作者很懒,什么都没留下…
展开
-
C++:刷LeetCode踩过的坑
C++:编程Tips最近在刷Leetcode的时候踩了不少坑,这里列一下提醒自己以后注意。循环体的条件部分,虽然《C++Primer》说以!=做判断,用各种类型的size_type做循环变量是个好习惯,但是这只适用于以遍历为目的简单循环。当循环条件比较复杂时,循环条件可能一开始就不成立,这种情况下使用<或>没有问题,而使用!=就会得到错误结果,容易陷入死循环。另外,无符号的siz...原创 2019-10-20 23:36:19 · 1007 阅读 · 0 评论 -
C++:类的拷贝和移动、初始化和赋值
C++:初始化和赋值、拷贝和移动《C++Primer》学到拷贝控制这一章开始有点犯晕,拷贝和移动的各种使用条件和限制很不好理解。正如《C++Primer》中所写的,虽然初始化(尤其是拷贝初始化)和赋值看上去差不多,都使用=,但是二者区别实际上非常大。今天写了这样一段代码,结果很有意思:#include "Message.h"#include <iostream>using n...原创 2019-10-14 21:33:29 · 795 阅读 · 0 评论 -
C++:在函数参数中使用++与--运算符
C++:在函数参数中使用++与–运算符进行C++的学习有一段时间了,今天做练习的时候遇到了一个在函数参数中使用带有++运算符表达式的问题,稍微研究了一下发现用到的知识点还不少,挺有意思的,这里正好进行下总结扩展,顺便梳理一下最近学到的知识。由于递增运算符++与递减运算符–的机制完全一致,以下仅以++为例进行讨论,–同理。问题以下程序的运行结果是什么呢?#include <iostre...原创 2019-10-03 20:39:00 · 876 阅读 · 1 评论 -
C++:关于string
C++ :关于string刷LeetCode的时候明明自己写的算法思路和题解一样,但是运行却速度慢了几倍,内存消耗谜之巨大,找了半天原来是数据结构和赋值运算的问题。这次踩坑了赶紧记下来,防止以后再出现类似的问题。用string处理char类型数据string是C++中最适合处理处理字符型数据的容器,直接用就行,不要试图使用vector<char>之类的东西,否则速度和内存占用性能...原创 2019-10-09 16:05:12 · 245 阅读 · 1 评论