C/C++
文章平均质量分 88
ZHM977863924
这个作者很懒,什么都没留下…
展开
-
通过DOS窗口编译C++文件总结
用txt文件写一个C++程序,直接将后缀名改为.cpp,然后在DOS窗口中编译一下就变成可运行文件了,但是这个过程中可能会遇到不少问题,一下是具体步骤和问题。用vs2010编译器。1:找到你VS的安装路径,接下来找到VC/bin下一个名为cl.exe的可执行文件,这个就是VC的编译器了(可能是compile简写CL),记住该路径D:\program\vs2010\VC\bin,把这个路径添原创 2015-03-16 16:35:06 · 2594 阅读 · 0 评论 -
C++ 常见崩溃问题分析
一、前言从事自动化测试平台开发的编程实践中,遭遇了几个程序崩溃问题,解决它们颇费了不少心思,解决过程中的曲折和彻夜的辗转反侧却历历在目,一直寻思写点东西,为这段难忘的经历留点纪念,总结惨痛的教训带来的经验,以期通过自己的经历为他人和自己带来福祉:写出更高质量的程序; 由于 C 和 C++ 这两种语言血缘非常近,文本亦对 C 编程语言有借鉴作用; 二、C++转载 2015-07-12 10:27:59 · 742 阅读 · 0 评论 -
c++中 类数据成员的定义、声明总结
C++为类中提供类成员的初始化列表类对象的构造顺序是这样的:1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员2.进入构造函数后在构造函数中执行一般计算 1.类里面的任何成员变量在定义时是不能初始化的。 2.一般的数据成员可以在构造函数中初始化。 3.const数据成员必须在构造函数的初始化列表中初始化。 4.static要在类的定义外面初始化。原创 2015-07-12 10:14:05 · 2943 阅读 · 0 评论 -
C/C++变量命名习惯
C_C++变量命名规则变量命名规则是为了增强代码的可读性和容易维护性。以下为C++必须遵守的变量命名规则: 1、 变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成。2、 第一个字母必须是字母或者下划线开头。3、 不能使用C++关键字来命名变量,以免冲突。4、 变量名区分大小写。 变量命名规则:一、原创 2015-07-09 09:02:09 · 619 阅读 · 0 评论 -
C++的内存管理
这篇文章是我在学习高质量C++/C编程指南中的第7章"内存管理"后的一篇笔记,之前我也写过相关的文章指针以及内存分配,但我感觉那篇还不是很好,这篇我很把它更完善一些一.内存的常见分配方式 1. 从静态区分配,一般是全局变量和static类型变量 2.从栈区分配内存,一般是局部的变量,会随着所在函数的结束而自动释放 3.从堆中分配,一般是使用手动分配,使用mallo转载 2015-07-09 08:55:12 · 406 阅读 · 0 评论 -
C++中如何修改const变量
一、结论声明:不同于C语言的const变量修改问题(可以通过指针间接修改const变量的值),这里只讨论C++ 里的const。C++ const 修饰符,表示常量,即如果以后保证不会修改则声明为const,否则若要修改,那一开始为什么还要声明为const呢?根据C++标准,对于修改const变量,属于:未定义行为(指行为不可预测的计算机代码),这样一来此行为取决于各种编译转载 2015-05-04 18:18:51 · 509 阅读 · 0 评论 -
C++内联函数与宏定义的区别
用内联取代宏:1.内联函数在运行时可调试,而宏定义不可以;2.编译器会对内联函数的参数类型做安全检查或自动类型转换(同普通函数),而宏定义则不会; 3.内联函数可以访问类的成员变量,宏定义则不能; 4.在类中声明同时定义的成员函数,自动转化为内联函数。文章(一)内联函数与宏定义 在C中,常用预处理语句#define来代替一个函数定义。例如: #d转载 2015-04-26 22:04:40 · 582 阅读 · 0 评论 -
右左法则----复杂指针解析
首先看看如下一个声明: int* ( *( *fun )( int* ) )[10]; 这是一个会让初学者感到头晕目眩、感到恐惧的函数指针声明。在熟练掌握C/C++的声明语法之前,不学习一定的规则,想理解好这类复杂声明是比较困难的。 C/C++所有复杂的声明结构,都是由各种声明嵌套构成的。如何解读复杂指针声明?右左法则是一个很著名、很有效的方法。不过,右左法则其实并不是C/转载 2015-04-02 14:45:30 · 464 阅读 · 0 评论 -
结构体内数据变量内存分配详解
原则1、数据成员对齐规则:结构(struct或联合union)的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小的整数倍开始(比如int在32位机为4字节,则要从4的整数倍地址开始存储)。 原则2、结构体作为成员:如果一个结构里有某些结构体成员,则结构体成员要从其内部最大元素大小的整数倍地址开始存储。(struct a里存有struct b原创 2015-03-12 09:31:52 · 2686 阅读 · 0 评论 -
两次free()或delete()同一个指针地址会怎么样。
#include "stdafx.h"#includeusing namespace std;int _tmain(int argc, _TCHAR* argv[]){ //cout<<"hello"; //int *p=(int*)malloc(sizeof(int)); //*p=1; //cout<<*p<<endl; //free(p);//free()之后相当于把内原创 2015-03-27 13:43:07 · 5646 阅读 · 0 评论 -
C++内存管理篇整理
C++内存管理篇整理内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++程序中都会发生,因此要想成为C++高手,内存管理一关是必须要过的,除非放弃C++,转到Java或者.NET,他们的内存管理基本是自动的,当然你也放弃了自由原创 2015-08-16 12:14:14 · 610 阅读 · 0 评论