nullptr/NULL】的更多相关文章

NULL vs nullptr 在过去,我们如果要表示一个指针为空,我们条件反射肯定会这么写: int *p = NULL; 然而啊,有没有想过这是有问题的,比如下面的这段代码: #include <iostream> #include <string> using namespace std; void func(int* num) { cout << "this is the ptr function..." << endl; } v…
0和nullptr/NULL 至于指针(地址值),根据实际选择用0.NULL还是nullptr.对使用了C++11特性的项目,选用nullptr:对于C++03项目,推荐NULL,因为它像是一个指针…
一个指针可以被声明为void类型,比如void *x.一个指针可以被赋值为NULL.一个指针变量声明之后但没有被赋值,叫做未初始化指针. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 int *uninit; // int指针未初始化 int *nullptr = NULL; // 初始化为NULL void *vptr; // void指针未初始化 int val = 1; int *iptr; int *castptr…
C/C++ 程序员都应该了解NULL, 0, nullptr,  NULL表示空指针,即指针不指向任何对象,C++11后有多了nullptr更好是表了这类概念,看看nullptr是如何实现的: const class nullptr_t { public: template<class T> inline operator T*() const {return 0;} template<class C, class T> inline operator T C::*() const…
惊奇的发现C++中连NULL和nullptr都有区别 NULL和nullptr 根据文章,应当做好NULL和nullptr的兼容工作 翻阅了一下qt的宏定义 #ifdef __GNC__ #define CC_GNU (__GNC__*100+__GNUC_MINOR__) #endif #ifdef CC_GNU #if CC_GNU >=406 #define COMPILER_NULLPTR #endif #endif #ifdef COMPILER_NULLPTR # define NU…
参考[C++11]新特性--引入nullptr NULL 在C++中, 经常会用到空指针, 一般用NULL表示空指针, 但是NULL却是这样定义的 #ifndef NULL #ifdef __cplusplus #define NULL 0 #else #define NULL ((void *)0) #endif #endif 也就是说, 在C++中NULL实际上就是整数0. C++中的`NULL`和C中的不一样的主要原因是C++有重载函数的机制, 如果继续让其支持`void*`的隐形类型转换…
Background C++ is one of the main development languages used by many of Google's open-source projects. As every C++ programmer knows, the language has many powerful features, but this power brings with it complexity, which in turn can make code more…
出处 http://www.cnblogs.com/feng-sc C++11已经出来很久了,网上也早有很多优秀的C++11新特性的总结文章,在编写本博客之前,博主在工作和学习中学到的关于C++11方面的知识,也得益于很多其他网友的总结.本博客文章是在学习的基础上,加上博主在日常工作中的使用C++11的一些总结.经验和感悟,整理出来,分享给大家,希望对各位读者有帮助,文章中的总结可能存在很多不完整或有错误的地方,也希望读者指出.大家可以根据如下目录跳到自己需要的章节. 1.关键字及新语法 1.1…
这一章,我们来分析Cocos2d-x 事件机制相关的源码, 根据Cocos2d-x的工程目录,我们可以找到所有关于事件的源码都存在放在下图所示的目录中. 从这个event_dispatcher目录中的文件命名上分析 cocos2d-x与事件相关的类一共有四种, Event, EventListener,EventDispatcher, Touch分别为 事件,事件侦听器,事件分发器,触摸 我们先从Event类开始. 打开CCEvent.h文件 /** * Base class of all ki…
指针.引用和取值 什么是指针?什么是内存地址?什么叫做指针的取值?指针是一个存储计算机内存地址的变量.在这份教程里“引用”表示计算机内存地址.从指针指向的内 存读取数据称作指针的取值.指针可以指向某些具体类型的变量地址,例如int.long和double.指针也可以是void类型.NULL指针和未初始 化指针.本文会对上述所有指针类型进行探讨. 根据出现的位置不同,操作符 * 既可以用来声明一个指针变量,也可以用作指针的取值.当用在声明一个变量时,*表示这里声明了一个指针.其它情况用到*表示指针…
v0.2 - Last updated November 8, 2013 源自 Google's C++ coding style rev. 3.274 目录 由 DocToc生成     头文件        #define用法        前向声明        内联函数        -inl.h文件        函数参数顺序        include的命名和顺序    作用域        命名空间            未命名空间            命名空间       …
#ifndef __BITARRAY__ //数组不支持多线程同时访问,没有对引用计数以及分配的资源做任何锁处理 #define __BITARRAY__ 1 //越界访问修改为抛出异常 #ifdef __BIT_DEBUG__ //__BIT_DEBUG__是调试用的宏定义 #include <cstdio> #endif #ifdef __cplusplus > 201103L #include <cstdint> #else #include <stdint.h&…
原地址 http://www.cplusplus.com/doc/tutorial/pointers/ Pointers In earlier chapters, variables have been explained as locations in the computer's memory which can be accessed by their identifier (their name). This way, the program does not need to care…
#include <string> #include <vector> #include <cstring> #include <cstdio> #include <dirent.h> #include <sys/stat.h> #include <sys/types.h> using std::strcmp; using std::string; using std::vector; #if __cplusplus &l…
提供了对引用计数对象的管理,其实也就是操作引用计数对象,当引用计数为零的时候将对象销毁,值得学习的是juce是如果将引用计数对象和它的智能指针结合在一起的,这个后面再加分析 //============================================================================== /** A smart-pointer class which points to a reference-counted object. The template…
看以下代码,能编译通过: void MainWindow::on_pushButton_clicked() { QString str = "test"; ) { QMessageBox msgBox; msgBox.setText("The document has been modified."); msgBox.exec(); str = ; } } 编译通过,我还以为自己看错了.专门做了一个Demo,结果还是编译通过. 后来找到了理论解释,就是使用了重载,其…
linux下错误的捕获:errno和strerror的使用 - Google Chrome (2014/2/26 17:31:39) linux下错误的捕获:errno和strerror的使用 2011-08-09 13:44:12 经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的函数有些时候会返回-1,也就是调用失败,这个时候往往需要知道失败的原因.这个时候使用errno这个全局变量就相当有用了.    在程序代码中包含 #i…
绝大数人都知道mp3格式编码,以及aac,amr等压缩格式编码. 而在语音通信界有一个强悍的音频格式编码opus. 经过实测,压缩比最高可以达到1:10. 100KB 压缩后 10KB 虽然是有损压缩, 但是根据实际对比试听, 几乎听不出差别. 而且还原度还比mp3高,压缩比也比mp3高. 用来压缩传输音频,绝对是一大杀器. 项目官方地址: https://opus-codec.org/ 维基上的描述: Opus是一个有损声音编码的格式,由Xiph.Org基金会开发,之后由互联网工程任务组(IE…
转自:http://www.cnblogs.com/feng-sc C++11已经出来很久了,网上也早有很多优秀的C++11新特性的总结文章,在编写本博客之前,博主在工作和学习中学到的关于C++11方面的知识,也得益于很多其他网友的总结.本博客文章是在学习的基础上,加上博主在日常工作中的使用C++11的一些总结.经验和感悟,整理出来,分享给大家,希望对各位读者有帮助,文章中的总结可能存在很多不完整或有错误的地方,也希望读者指出.大家可以根据如下目录跳到自己需要的章节. 1.关键字及新语法 1.1…
Google C++ Style Guide   Table of Contents Header Files Self-contained Headers The #define Guard Forward Declarations Inline Functions Names and Order of Includes Scoping Namespaces Unnamed Namespaces and Static Variables Nonmember, Static Member, an…
转载出处 http://www.cnblogs.com/feng-sc C++11已经出来很久了,网上也早有很多优秀的C++11新特性的总结文章,在编写本博客之前,博主在工作和学习中学到的关于C++11方面的知识,也得益于很多其他网友的总结.本博客文章是在学习的基础上,加上博主在日常工作中的使用C++11的一些总结.经验和感悟,整理出来,分享给大家,希望对各位读者有帮助,文章中的总结可能存在很多不完整或有错误的地方,也希望读者指出.大家可以根据如下目录跳到自己需要的章节. 1.关键字及新语法 1…
题目说明 Given a binary tree, flatten it to a linked list in-place. For example, Given 1 / \ 2 5 / \ \ 3 4 6 The flattened tree should look like: 1 \ 2 \ 3 \ 4 \ 5 \ 6 题目分析 第一感觉是前序遍历,顺便打算在这题练习一下昨天学到的二级指针的写法XD,调的时候bug挺多的,可读性贼差,指针还是慎用啊-- 以下为个人实现(C++,12ms):…
[Luogu 3275] SCOI2011 糖果 第一道差分约束.感谢 AZe. 我的理解是根据一些不等关系建一个图,在图上边跑一个最长路(有时候是最短路). 因为可能存在负环,所以必须用 SPFA! 好神奇啊,图论好强强啊. 然而 Capella 惨惨,用上了 0 号节点却从 1 开始初始化邻接表,导致 for 出不去了,就因为这个调了一个晚上. 指针选手初始化很重要啊. 加油qwq #include <algorithm> #include <cstdio> #include…
[Luogu 3128] USACO15DEC Max Flow 最近跟 LCA 干上了- 树剖好啊,我再也不想写倍增了. 以及似乎成功转成了空格选手 qwq. 对于每两个点 S and T,求一下 LCA 顺便树上差分,最后求差分数组的前缀和并找出最大值输出就行了. (PS:最近考前训练不开 C++11,所以如果看见我写了奇怪的 define 请自动无视QAQ!) #include <algorithm> #include <cstdio> #define nullptr NUL…
[Luogu 2169] 正则表达式 感谢 0xis 推题. 记忆中很久没有过一遍写过一题了- 别被题目名称蒙骗!这不是正则表达式题目!和字符(串)处理一点关系都没有!这是个图论题啊喂! 题都没急,Capella 你急啥? 由题意得,能够本地传输的机子们处于同一强连通分量,于是 Tarjan 一遍,缩点.缩的过程中,对于两个 SCC 之间的边,选短的加. 我这里用一个 map,记录边(pair<int, int>)到边权(int)的映射,然后用 map 判断是否加边就好了. 最短路,跑一个 D…
[Luogu 3258] JLOI2014 松鼠的新家 LCA + 树上差分. 我呢,因为是树剖求的 LCA,预处理了 DFN(DFS 序),于是简化成了序列差分. qwq不讲了不讲了,贴代码. #include <algorithm> #include <cstdio> #include <cstring> #define nullptr NULL const int MAXN = 300010; int n, a[MAXN]; namespace HLD { int…
今天为大家带来一个模拟STL-vector的模板实现代码. 首先看一下测试结果,之后再为大家呈现设计 测试效果 测试代码 #include<iostream> #include<vector> #include"myVector.h" using namespace std; int main(int argc, char* argv[]) { vector<int>v; vector<int>::iterator it, it2, it…
v0.2 - Last updated November 8, 2013 源自 Google's C++ coding style rev. 3.274 目录 由 DocToc生成     头文件        #define用法        前向声明        内联函数        -inl.h文件        函数参数顺序        include的命名和顺序    作用域        命名空间            未命名空间            命名空间       …
源代码版本号来自3.x,转载请注明 cocos2d-x 源代码分析总文件夹 http://blog.csdn.net/u011225840/article/details/31743129 1.继承结构 1.1 结构       不详吐槽太多,也不贴图了.贴图要审核好久好久好久好久.       从小到大,先来看下Event的结构.       1.Event--------EventTouch,EventCustom,EventMouse,EventKeyboard,EventFocus,Ev…
C++11已经出来很久了,网上也早有很多优秀的C++11新特性的总结文章,在编写本博客之前,博主在工作和学习中学到的关于C++11方面的知识,也得益于很多其他网友的总结.本博客文章是在学习的基础上,加上博主在日常工作中的使用C++11的一些总结.经验和感悟,整理出来,分享给大家,希望对各位读者有帮助,文章中的总结可能存在很多不完整或有错误的地方,也希望读者指出.大家可以根据如下目录跳到自己需要的章节. 1.关键字及新语法 1.1.auto关键字及用法 1.2.nullptr关键字及用法 1.3.…