
C/C++
文章平均质量分 77
barryxt
这个作者很懒,什么都没留下…
展开
-
c++实现显示系统当前时间
小朋友托我写的显示时间的控制台小程序,不熟悉时间类,查了下资料,参考上一篇转载博文.另外关于析构函数有点新的收获,通过指针申请的内存空间在主函数退出前需要显示地去释放空间以调用析构函数.而简单的申明对象在主函数退出时会自动调用析构函数. 下面是我显示系统当前时间的源代码./* 程序功能: 显示系统当前时间*/#include #include "tim原创 2008-11-25 13:28:00 · 4491 阅读 · 0 评论 -
大端和小端(三篇好文章)
文章一: 端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开。在计算机业Big Endi转载 2009-12-07 22:39:00 · 1387 阅读 · 0 评论 -
一个简单的string类实现
#includeusing namespace std; class String{ friend ostream& operatorpublic: String(const char* str=NULL); //赋值构造兼默认构造函数(char) String(const String &other);原创 2009-11-01 16:41:00 · 566 阅读 · 0 评论 -
C++中参数传递方式讨论
众所周知,在C++中调用函数时有三种参数传递方式: (1)传值调用; (2)传址调用(传指针); (3)引用传递; 实际上,还有一种参数传递方式,就是全局变量传递方式。这里的“全局”变量并不见得就是真正的全局的,所有代码都可以直接访问的,只要这个变量的作用域足够这两个函数访问就可以了,比如一个类中的两个成员函数可以使用一个成员变量实现参数传递,或者使用static关键字定义,或者使用namespa转载 2009-07-26 21:13:00 · 8725 阅读 · 4 评论 -
C++操作符重载(小原则)
一.运算符重载的含义与定义方式l C++已有的运算符只适合处理C++的基本数据类型。l C++允许重新定义已有的运算符(运算符重载),以便它能处理程序员定义类型(类类型)。l 运算符重载就是赋予已有的运算符多重含义。运算符重载与函数重载类似,是它的特殊类型。l C++通过重新定义运算符,使它能够用于特定类的对象执行特定转载 2009-07-22 19:36:00 · 2013 阅读 · 0 评论 -
C语言的联合(union)介绍
“联合”与“结构”有一些相似之处。但两者有本质上的不同。在结构中各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量的长度等于各成员中最长的长度。应该说明的是, 这里所谓的共享不是指把多个成员同时装入一个联合变量内, 而是指该联合变量可被赋予任一成员值,但每次只能赋一种值, 赋入新值则冲去旧值。如前面介绍的“单位”变量, 如定义为一转载 2009-03-16 21:39:00 · 1295 阅读 · 0 评论 -
读书摘要--Inside The C++ Object Model
Chp 1 关于对象1.1 C++对象模式 每个类对应的type_info对象,通常由Vtable的第一个slot指向。1.2 关键字所带来的差异 如果不是为了努力维持与C的兼容性,C++远可以比现在更简单些。 C++标准保证,同一个access section中的数据成员,其内存布局同其声明次序保持一致。 组合,而非继承,才是将C和C++的内存布局结构结合在一起唯一可转载 2009-03-08 11:44:00 · 527 阅读 · 0 评论 -
堆和栈的区别
堆和栈的区别 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的转载 2008-12-22 14:29:00 · 825 阅读 · 0 评论 -
常量指针 和 指针常量
在C++的学习中,有人经常搞不清楚“常量指针”和“指针常量”这两个概念。其实简单一点讲,“常量指针”所指向的地址上的数据是常量,而“指针常量”所指向的地址是常量,地址上面的数据是可以变化的。 下面看及格简单的例子,可以说明他们的区别: 第一个 1 void main(){ 2 char *str1={"Hello"}; 3 char *str2=转载 2009-03-05 21:06:00 · 424 阅读 · 0 评论 -
C++学习之我见:真的走进了技术误区?
声明:这篇文章是本人一段时间思考、认识和言论的自我总结。纯属个人观点、经历的描述,紧供参考。 当然也欢迎大家[对本人]和[文中的观点]提出指点。 有人认为后期的C++趋向学院派风格,走进了一味追求技术和难度的误区,逐渐脱离主流的Programmers。 有人认为C++由于复杂度导致在现代软件工程中的地盘不断缩水。 也有人认为,C++无任对特定领域应用还是研究来说转载 2008-12-02 19:42:00 · 661 阅读 · 0 评论 -
C/C++中的日期和时间 time_t与struct tm转换
摘要:本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)1.概念在C/C++中,对字转载 2008-11-25 13:25:00 · 727 阅读 · 0 评论 -
什么是预编译?
文章(一)处理#开头的指令,比如拷贝#include包含的文件代码,#define宏定义的替换,条件编译等 就是为编译做的预备工作的阶段 主要处理#开始的预编译指令 预编译指令指示了在程序正式编译前就由编译器进行的操作,可以放在程序中的任何位置。常见的预编译指令有: (1)#include 指令 该指令指示编译器将xxx.xxx文件的全部内容插入此处。若用转载 2009-12-08 21:19:00 · 12552 阅读 · 0 评论