![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
Purple_dandelion
这个作者很懒,什么都没留下…
展开
-
C++中map注意事项
1、在map中,由key查找value时,首先要判断map中是否包含key。2、如果不检查,直接返回map[key],可能会出现意想不到的行为。如果map包含key,没有问题,如果map不包含key,使用下标有一个危险的副作用,会在map中插入一个key的元素,value取默认值,返回value。也就是说,map[key]不可能返回null。3、map提供了两种方式,查看是否包含key,m.coun转载 2016-06-23 22:07:10 · 310 阅读 · 0 评论 -
[LeetCode]2. Add Two Numbers
题目: You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return i原创 2016-09-23 15:56:25 · 164 阅读 · 0 评论 -
C++和java异常处理中关于finally的区别
在java中,异常处理由try{}catch(){}finally{}组成,无论try中有没有异常,try和catch中有没有return,finally最终都会执行。而且finally中若有return,则此return和try、catch中的return相比级别最高,也就是说,此时最终会以finally中的return返回。finally中可以进行资源的释放等收尾工作。try {A;ret原创 2016-09-22 19:50:10 · 1053 阅读 · 0 评论 -
关于表达式中++,--的求值顺序(顺序点)
若一个表达式只求值,而为改变环境,就说该表达式是引用透明的(如cout<< a <<endl);如果一个表达式求值而且改变了环境,就说该表达式有副作用(如a++)。在C++中的运算符中,只有四种运算符规定了运算对象的运算顺序(逻辑与&&,逻辑或||,逗号运算符和条件运算符)。其他的运算符并未规定运算顺序,如f(a++,a+7,b)中的实参,并不确定a+7和a++哪一个先求值; (i++)+i +原创 2016-09-22 19:14:45 · 1324 阅读 · 0 评论 -
[LeetCode]Add Binary
Given two binary strings, return their sum (also a binary string). For example, a = “11” b = “1” Return “100”.class Solution {public: string addBinary(string a, string b) { auto aIter原创 2016-07-14 21:23:11 · 227 阅读 · 0 评论 -
[LeetCode]371. Sum of Two Integers
Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -.Example: Given a = 1 and b = 2, return 3.class Solution {public: int getSum(int a, int b) {原创 2016-07-14 11:26:45 · 191 阅读 · 0 评论 -
C++之decltype和auto的用法
返回值 decltype ( 表达式 ) 1、当表达式返回右值,则decltype返回该表达式的类型; 2、当表达式返回左值,则decltype返回该表达式的左值引用类型;注:decltype()不会执行表达式,而只是推出表达式的类型。当表达式是函数调用时,返回函数的返回值类型。当表达式是函数名时,返回的是函数类型,而并非函数指针类型。当表达式是数组名时,返回的是数组类型,而不是指针原创 2016-07-02 22:22:35 · 714 阅读 · 0 评论 -
[LeetCode] Guess Number Higher or Lower
We are playing the Guess Game. The game is as follows:I pick a number from 1 to n. You have to guess which number I picked.Every time you guess wrong, I’ll tell you whether the number is higher or lowe原创 2016-07-13 21:51:33 · 243 阅读 · 0 评论 -
64位win10下openGL的配置---学前准备
选择一个编译环境(这里选的是vs2015)下载glut工具包 下载地址:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip (注:目前只有32位版本) 下载后解压可以得到如图的5个文件: 将glut.lib、glut32.lib文件放入VS目录下的VC\lib文件夹下; 将glut.h放入VC\in原创 2016-06-28 19:06:14 · 3461 阅读 · 1 评论 -
STL
STL提供了大量的模板类和函数,下面为三个基本的STL组件:迭代器 迭代器提供了访问容器中对象的方法。例如,可以使用一对迭代器指定list或vector中的一定范围的对象。迭代器就如同一个指针。事实上,C++的指针也是一种迭代器。但是,迭代器也可以是那些定义了operator*()以及其他类似于指针的操作符地方法的类对象。容器 容器是一种数据结构,如list,vector,和deques ,以原创 2016-06-28 17:52:16 · 248 阅读 · 0 评论 -
模板
STL(Standard Template Library)中有两种类型的模板:类模板(Class Template)函数模板(Function Template)1.类模板定义: template<class T1,class T2,....> class A{ ... //在类的定义中可以使用Ti };使用时,应为所有的Ti提供类型,如:A<int,float> a原创 2016-06-27 21:35:08 · 226 阅读 · 0 评论 -
二叉搜索树及其C++实现
一棵二叉搜索树由一棵二叉树来组织,可以用链表数据结构来表示,每个结点除了Key和卫星数据,还包含指针left,right,p,分别指向左子树,右子树和双亲。 二叉树中的key总是满足二叉搜索树性质: 设x是二叉搜索树的一个结点,若y是x左子树中的一个结点,则y.key< x.key;若y是x右子树中的一个结点,则y.key>=x.key。(相等时,放在左子树还是右子树看个人习惯,此文是放在右子原创 2016-06-27 15:46:40 · 314 阅读 · 0 评论 -
空指针
在c中,空指针有两种表示方法,一种是常数0,一种是preprocessor macro NULL,NULL可被定义为0或((void*)0)。在c++中,不能将void*隐式转换为其他类型的指针,为了使代码 char* c = NULL; 能通过编译,c++建议将NULL 定义为 0。void foo(char *);void foo(int);foo(NULL); //将会调用 foo(in原创 2016-06-26 17:35:31 · 282 阅读 · 0 评论 -
何时用new?
注:本文仅自己的拙见,有错误的话,希望大家不吝赐教。申请对象空间不确定时,用new。(避免对只有在运行时才能确定实际大小的对象提前静态确定其大小的话,犯太大导致浪费或太小导致不足无法处理的错误。) 创建静态数组时,是编译时确定数组大小,以便分配内存,如:int a[20]={0};//运行时初始化const int a[20]={0};//编译时初始化(这里仅为了说明初始化的时机,一般不这样原创 2016-06-24 12:19:33 · 643 阅读 · 1 评论 -
int最大值,最小值的获取
当需要用到int的最大和最小值进行比较时,头文件<limits.h>中定义了宏:INT_MAX和INT_MIN可以拿来直接用:#include <limits.h>#include<iostream>using namespace std;int main(){ cout <<"INT_MAX:"<< INT_MAX << endl << "INT_MIN:" << INT_MIN <原创 2016-06-24 10:03:20 · 4567 阅读 · 0 评论 -
C++ find()
头文件#include<algorithm>函数实现template<class InputIterator, class T>InputIterator find (InputIterator first, InputIterator last, const T& val){ while (first!=last) { if (*first==val) return fir转载 2016-09-24 10:04:14 · 335 阅读 · 1 评论