C++
文章平均质量分 77
sunprice
我要。。。。
展开
-
C++ Primer Plus 第九章 内存模型与名称空间
第九章 内存模型和名称空间9.1单独编译1.程序组成(1)头文件:存放结构声明、函数原型(2)源代码文件:与结构有关的函数代码(处理结构)(3)源代码文件:调用与结构有关的函数的代码2.头文件应该存放(1)使用 #define 或 const 定义的符号常量(2)结构声明(3)类声明(4)模板声明(5)函数原型(6)内联函数3.头文件<> 与 ""区别 <>:优先在存储头文件的主机系统的文件系统进行查找; “”:优先在当前工作目录或源代码目录中查找;原创 2020-07-26 21:56:19 · 188 阅读 · 0 评论 -
C++中 疑问点
C++中疑问点文章目录C++中疑问点1.const char *a与char const *a与char *const a的区别1.const char *a与char const *a与char *const a的区别问题:说出以下四个语句的区别:const char *achar *const achar const *aconst char *const aconst和指针...原创 2018-12-22 20:48:07 · 271 阅读 · 0 评论 -
C++中类相关知识
C++中 类文章目录C++中 类1.this指针2.1.this指针 class应该理解为一种类型,象int,char一样,是用户自定义的类型。用这个类型可以来声明一个变量,比如int x, myclass my等等。这样就像变量x具有int类型一样,变量my具有myclass类型。理解了这个,就好解释this了,my里的this 就是指向my的指针。如果还有一个变量myclass mz,...原创 2018-12-22 19:54:16 · 248 阅读 · 0 评论 -
C++中抽象类和接口详解
1.抽象类在面向对象编程中,抽象类是一种只能定义类型,不能生成对象的类,它是对一系列看上去不同,但是本质相同的具体概念的抽象。最典型的抽象类就是“图形”,三角形、矩形、圆都是图形,它们都有边长、面积属性,“图形”类就是对这系列的抽象。程序设计中,我们可以定义一个表征图形的类,然后具体图形继承该类。图形类,即基类,定义如下:class shape{public: double...转载 2018-10-09 14:29:32 · 509 阅读 · 0 评论 -
LeetCode题目详解-27.移除元素
27.移除元素问题:给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 ...原创 2018-10-02 21:57:35 · 211 阅读 · 0 评论 -
LeetCode中问题1.reference binding to null pointer of type 'const value_type'
问题1:reference binding to null pointer of type 'const value_type'在LeetCode做题的过程中,遇到"reference binding to null pointer of type ‘value_type’" 这个问题,现在对这个问题进行一下分析和总结。产生原因:1.对于一些stl和一些数据结构掌握不准确。2.忽视判...转载 2018-10-02 21:20:11 · 35500 阅读 · 3 评论 -
C++中单向链表相关知识
struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} };其中, ListNode(int x) : val(x), next(NULL) {} 是结构体的构造函数,与类的构造函数相同,冒号后面的是初始化列表,也就是给成员val初始化为传入的参...原创 2018-10-02 19:55:44 · 2472 阅读 · 0 评论 -
C++中stack详解
C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构。c++ stl栈stack的头文件为: #include <stack> c++ stl栈stack的成员函数介绍操作 比较和分配堆栈empty() 堆栈为空则返回真pop() 移除栈顶元素push() 在栈顶增加元素siz...转载 2018-10-02 00:38:16 · 102385 阅读 · 2 评论 -
C++中string详解
转载自https://www.cnblogs.com/c1299401227/p/5370685.html之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个泛型类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简...转载 2018-10-01 22:50:01 · 2933 阅读 · 0 评论 -
LeetCode题目详解-9 回文数
9.回文数题目:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 0...原创 2018-10-01 20:00:03 · 1605 阅读 · 0 评论 -
LeetCode题目详解-7反转整数
7.反转整数题目:给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。代...原创 2018-10-01 19:04:42 · 2469 阅读 · 0 评论 -
LeetCode题目详解
1.两数之和给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]方法一:暴力法暴力法很简单。遍历每个元素 xx,并查找是否存在一个值与...原创 2018-10-01 17:01:22 · 521 阅读 · 0 评论 -
六度空间理论
06-图3 六度空间(30 分)“六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”如图1所示。图1 六度空间示意图“六度空间”理论虽然得到广泛的认同,并且正在得到越来越多的应用。但是数十年来,试图验证这个理论始终是许多社会学家努...原创 2018-05-31 19:40:14 · 7615 阅读 · 0 评论 -
数据结构-排序算法
1.示例程序其中涵盖冒泡排序、直接插入排序、希尔排序、简单选择排序、堆排序、归并非递归排序#include <iostream>using namespace std;//i为挪动的量的下标,j为要去的那个量的下标,从i挪到jvoid swap(long long A[], long long i, long long j){ long long tmp; tmp =...原创 2018-05-16 21:13:06 · 97 阅读 · 0 评论 -
C/C++中遇见的问题集
1.问题1:1)问题:HEAP CORRUPTION DETECTED:after Normal block(#XXXX)at 0xXXXX.CRT detected that the application wrote to memory after end of heap buffer. 翻译一下错误提示:HEAP(堆) CORRUPTION(不正确,破坏) DETECTED(被检测到):af...原创 2018-05-16 10:18:44 · 198 阅读 · 0 评论 -
vector之reserve和resize
本文为转载,原文地址:https://blog.csdn.net/dongyanxia1000/article/details/521534261、vector中的reserve()函数用来定义预留空间,改变capacity,不改变size。会去分配内存,但不会构造出对象。如果改变后的capacity比当前的capacity大,则capacity会变为改变后的capacity,反之capacity...转载 2018-05-06 16:30:41 · 282 阅读 · 0 评论 -
C++ 内联函数inline
1.引入inline关键字的原因在c/c++中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数。栈空间就是指放置程序的局部数据(也就是函数内数据)的内存空间。在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空间不足而导致程序出错的问题,如,函数的死循环递归调用的最终结果就是导致栈内存空间枯竭。下面我们来看一个例子:#include...转载 2018-05-10 15:26:49 · 241 阅读 · 0 评论 -
vector中二维数组的遍历
vector中二维数组的遍历有两种方法:1.迭代器遍历void reverse_iterator(vector<vector<int>> vec){ vector<int>::iterator it; vector<vector<int>>::iterator iter; vector<int> ve...原创 2018-05-09 10:36:40 · 14429 阅读 · 4 评论