C&C++
文章平均质量分 80
lyrebing
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
阻止对象被Copy
通常如果你不希望class支持某一特定机能,只要不声明对应函数就是了。但这个策略对copy构造函数和copy assignment操作符却不起作用。如果你自己没有声明,编译器就会为你的class声明(编译器版本的)一个copy构造函数、一个copy assignment操作符和一个析构函数。(此外如果你没有声明任何构造函数,编译器也会为你声明一个default构造函数。所有这些函数都是public转载 2014-07-02 15:29:01 · 735 阅读 · 0 评论 -
C++智能指针简析
智能指针原创 2016-04-07 14:50:42 · 532 阅读 · 0 评论 -
Templates and Generic Programming
Templates and GenericProgramming原创 2016-04-06 10:07:55 · 385 阅读 · 0 评论 -
定制new和delete更改内存管理方案
C++允许手工管理内存。依据使用内存的行为特征,然后修改分配和归还工作,以求获得其所建置的系统的最佳效率(包括时间和空间)。这给了程序员通过定制operator new和operator delete的方式来更改new与delete表达式从而更改内存管理方案的自由。但是享受这种自由的时候必须遵守一定的规范和条款。本文在此基础上补充解释一些特别容易引起误解的问题。原创 2014-08-04 13:08:05 · 1269 阅读 · 0 评论 -
Name Mangling in C++
介绍了C++中的Name Mangling的原理和gcc中对应的实现,通过程序代码和nm c++filt等工具来验证这些原理。对于详细了解程序的链接过程有一定的帮助。原创 2016-04-03 21:09:08 · 405 阅读 · 0 评论 -
C++中指针和引用的区别
从概念上讲。指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。而引用是一个别名,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不能被改变的(自始至终只能依附于同一个变量)。在C++中,指针和引用经常用于函数的参数传递,然而,指针传递参数和引用传递参数是原创 2014-04-14 09:19:25 · 725 阅读 · 0 评论 -
C++四种cast操作符
C 风格(C-style)强制转型如下:(T) expression 或T(expression) //函数风格(Function-style)两种形式之间没有本质上的不同。对于具有转换的简单类型而言C 风格转型工作得很好。然而,这样的转换符也能不分皂白地应用于类(class)和类的指针。ANSI-C++标准定义了四个新的转换符:reinterpret_cast, stati原创 2014-04-14 10:06:09 · 800 阅读 · 0 评论 -
C语言一些编程心得(转帖)
C语言中的指针,数组,类型的识别,参数可变的函数一.指针。它的本质是地址的类型。在许多语言中根本就没有这个概念。但是它却正是C灵活,高效,在面向过程的时代所向披靡的原因所在。因为C的内存模型基本上对应了现在von Neumann(冯·诺伊曼)计算机的机器模型,很好的达到了对机器的映射。不过有些人似乎永远也不能理解指针【注1】。注1:Joel Spolsky就是这样认为的,他认为对指针的转载 2014-04-18 13:26:02 · 748 阅读 · 0 评论 -
内联(inline)函数和宏定义(#define)的区别
首先#define有很大的好处: 1. 首先谈一下在C中使用这种形式宏定义的原因,C语言是一个效率很高的语言,这种宏定义在形式及使用上像一个函数,但它使用预处理器实现,没有了参数压栈,代码生成 等一系列的操作,因此,效率很高,这是它在C中被使用的一个主要原因。 2. 这种宏定义在形式上类似于一个函数,但在使用它时,仅仅只是做预处理器符号表中的简单替换,因此它不能进行参数有效性原创 2014-04-18 15:31:31 · 2471 阅读 · 0 评论 -
calloc和malloc的区别,兼谈new
都是动态分配内存。Both the malloc() and the calloc() s are used to allocate dynamic memory. Each operates slightly different from the other. malloc() takes a size and returns a pointer to a chunk of memory a原创 2014-04-18 12:55:46 · 774 阅读 · 0 评论 -
C++中struct与class的区别
很多初学者或者是想当然,或者是被网上的一些错误信息给误导,面试中问到class和struct区别时经常会说class可以继承而struct不可以继承,这是完全错误的。但在C#中,class与struct确实有这点区别(当然不止这一点)。其实,在C++中,这两个关键词并没有大的区别,仅在细节上有些不同。1。 字面上的区别在字面上struct是structure的缩写,通常叫做“结构体”,在C转载 2014-04-10 14:50:33 · 710 阅读 · 0 评论 -
Guide to using Pinning Pointers
IntroductionHaving written an article on interior pointers, I thought the next logical topic for an article from me should be pinning pointers. This article will explain what pinning pointers ar转载 2015-07-27 15:57:58 · 400 阅读 · 0 评论 -
An overview of interior pointers in C++/CLI
IntroductionOne very confusing facet of the now obsolete Managed Extensions to C++ was its pointer usage syntax, whereT* could be a native pointer, a managed reference or an interior pointer. In转载 2015-07-27 15:04:04 · 480 阅读 · 0 评论 -
C++异常处理机制详解
异常处理是一种允许两个独立开发的程序组件在程序执行期间遇到程序不正常的情况(异常exception)时相互通信的机制。本文总结了19个C++异常处理中的常见问题,基本涵盖了一般C++程序开发所需的关于异常处理部分的细节。转载 2014-07-01 18:40:34 · 5056 阅读 · 0 评论
分享