
C/C++语言
文章平均质量分 73
kevinzhangyang
这个作者很懒,什么都没留下…
展开
-
C++ 里的访问控制
一、 类的域(scope):一个类的定义不仅定义了一个类型(type),而且还定义了域(scope).类定义中声明的类型别名,声明的数据成员,声明或定义的成员函数都在该类的scope内。简而言之,域即为类体。 二、类成员的访问方式:不管是在scope内还是在scope原创 2011-07-22 09:48:38 · 537 阅读 · 0 评论 -
C标准库IO函数的错误识别
errno全局变量很多系统函数在错误返回时将错误原因记录在libc定义的全局变量errno中,每种错误原因对应一个错误码,请查阅errno(3)的Man Page了解各种错误码,errno在头文件errno.h中声明,是一个整型变量,所有错误码都是正整数。如:当使用fopen打开文件失败时,该函数返回NULL,而且同时将错误原因记录在全局变量errno中。 如果在程序中打印错误原创 2011-10-26 16:07:25 · 2826 阅读 · 0 评论 -
功能强大的sscanf 函数
函数原型: Int sscanf( const char * src, const char * format, ...); int scanf( const char * format, ...); 这两个函数很相似,只是第一个函数以src作为输入,而第二个原创 2011-10-03 12:13:04 · 820 阅读 · 0 评论 -
多样的sprintf函数
函数种类:字符串输出函数有很多,如下表所示: ASCII宽字元常规 参数的变数个数 标准版sprintfswprintf_stprintf最大长度版_snpri原创 2011-10-03 19:40:02 · 872 阅读 · 0 评论 -
C/C++预编译指令总结
C/C++中宏总结C程序的源代码中可包括各种编译指令,这些指令称为预处理命令或预处理器。虽然它们实际上不是C语言的一部分,但却扩展了C程 序设计的环境。预处理指令的主要作用就是把通过预处理的内建功能对一个资源进行等价替换,最常见的预处理有:文件包含,宏替换,条件编译和布局控制原创 2011-08-11 18:08:22 · 9755 阅读 · 1 评论 -
数组与指针
数组与指针是内存管理的关键,也是C/C++中较难掌握的的地方。现在对其进行一些分析与总结。 一。内存分配方式有四种: 1.从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的 整个运行期间都存在。例如全局变量原创 2011-08-02 18:03:40 · 569 阅读 · 0 评论 -
尽量多使用const
C++中const非常多才多艺。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。 一。const与指针、引用: pointer-to-nonconst可以初始化或赋值给pointer-to-const,反之不可以,只有一个例外原创 2011-08-02 18:43:47 · 746 阅读 · 0 评论 -
VC中预编译#pragma指令总结
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对 每个编译器给出了一个方法,在保持与C和C ++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统原创 2011-08-11 18:10:21 · 1598 阅读 · 0 评论 -
VC中预编译头文件
一。为什么预编译头文件:预编译头的概念: 所谓的预编译头就是把一个工程中的那一部分代码,预先编译好放在一个文件里(通常是以.pch为扩展名的),这个文件就称为预编译头文件这些预先编译好的代码可以是任何的C/C++代码,甚至是inline的函数,但是必须是稳定的,在工程开发原创 2011-08-11 18:13:23 · 1570 阅读 · 0 评论 -
#define总结-#define用法集锦 (网上资料汇集)
Definition:The #define Directive You can use the #define directive to give a meaningful name to a constant in your program. The two for转载 2011-08-10 18:17:57 · 1410 阅读 · 0 评论 -
C语言中几#if,#if defined ,#ifdef的用法描述
[转] #ifndef#define#endif的用法(整理) 原作者:icwk 文件中的#ifndef 头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可原创 2011-08-10 17:29:29 · 1686 阅读 · 0 评论 -
free、detele与野指针
一。free与delete把指针怎么了?: 用free或delete 作用于指向堆内存的指针上,发生了什么? 它们只是把指针指向的内存释放掉,而并没有把指针本身释放掉,甚至连指针的值都没有改变。即,它们作用于指针,并没有改变指针指向的地址,而只是原创 2011-08-02 18:09:37 · 1959 阅读 · 0 评论 -
C++对象初始化
在C++里,对象初始化是一个非常重要但又容易令人混淆的问题。这里是自己的一些总结。 一。初始化与赋值的含义: 初始化:包括创建(或说定义)对象并且赋给初值。(如果一个对象只被创建而没有被初始化,则该变量只能用于被赋值)。 赋值: 擦除对象的当前值并用新值代替。二。内置原创 2011-07-27 17:00:10 · 22024 阅读 · 0 评论 -
C++中类型强制转换
C++中有4种强制转换:const_cast,static_cast, dynamic_cast, reinterpret_cast,以下将分别介绍: 1. const_cast: 形式const_cast(expression),用来修改类型的const或volatile属性,原创 2011-07-27 17:20:00 · 4827 阅读 · 0 评论 -
C++对象类型转换问题概括总结
C++里,对象类型转化问题是需要严加注意的一个问题,包括隐式转换,强制转化,旧式转化等种类,需要加以总结。本篇文章概括总结类型转化问题,并侧重于类型的隐式转换问题。关于强制转换的详细的内容放在下篇文章中总结。 一。类型相关:如果两个类型可以相互转换,则称这两个类型相关。只用相关类原创 2011-07-27 17:07:26 · 4963 阅读 · 0 评论 -
面向对象编程之核心思想
面向对象编程基于三个基本概念:数据抽象封装,继承,动态绑定。1.数据抽象封装:用类进行数据抽象,其中private体现封装;2.继承:从一个类继承另一个类;3.动态绑定:来源于存在继承关系的类。基类的指针或引用能多态地 指向或引用基类或其派生类对象,特别是在通过基类指针原创 2011-07-26 09:25:44 · 3117 阅读 · 0 评论 -
判断单链表是否有环以及两个单链表是否相交?
链表是最常用的数据结构之一,总结其常见应用中的问题及其解决方法是很有意义的。原创 2011-07-22 16:39:09 · 112 阅读 · 0 评论 -
C++资源之不完全导引(完整版.) (转)
前言无数次听到“我要开始学习C++!”的呐喊,无数次听到“C++太复杂了,我真的学不会”的无奈。Stan Lippman先生曾在《C++ Primer》一书中指出“C++是最为难学的高级程序设计语言之一”,人们常将“之一”去掉以表达自己对C++的敬畏。诚然,C++程序设计语言对于转载 2011-07-22 10:39:01 · 2456 阅读 · 0 评论 -
异常、虚函数与构造函数、析构函数
一。异常1.栈展开(stack unwinding): 异常抛出的时候,将暂停当前函数的执行,开始查找匹配的catch字句。 首先检查throw语句是否在当前函数的try语句中,如果是,而且有相应的catch语句与抛出对象相匹配,则就处理异常;如果没有在try语句中,或没有相匹配的catch语句,则就会退出当前函数(释放当前函数的内存、撤销局部对象); 然后再在调用函数原创 2011-11-10 15:00:35 · 921 阅读 · 0 评论