随笔分类 - C/C++
摘要:From:https://blog.csdn.net/zj510/article/details/8135556 通常我们对类成员进行“初始化”有两种方式: 1. 构造函数后面跟冒号; 2. 构造函数里面对成员进行赋值。 有些人不太注意这个小细节,或者根本不知道他们的区别,认为两种方式是一样的。这个
阅读全文
摘要:纯虚函数的地址为空,无法分配内存,纯虚成员函数对类是没有意义的,失去了普通类的数据和方法绑定于同一对象中的意义,因此无法构造对象,只能由其派生类继承这些成员函数并实现,才能构造派生类对象。 纯虚成员函数仅起到了定义接口的作用。
阅读全文
摘要:#include<stdio.h> union { int integer; float fdata; } Convert; union { int *integer; float *fdata; } pConvert; int main() { Convert.integer = 99; prin
阅读全文
摘要:@2019-02-15 【小记】 > C 头文件的防重复包含是针对同一个源文件而言 原因: #include 头文件就是一段代码的拷贝,头文件中若有类型定义等,重复包含就会造成编译错误,若无类型定义等不造成重复定义的,则无需防重复包含机制 防重包含机制: #pragma once #ifndef _
阅读全文
摘要:@2019-01-14 【小记】 C++中const、volatile、mutable的用法
阅读全文
摘要:const是一个C++语言的限定符,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性。另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助。 1. 修饰常量 用const修饰的变量是不可变的,以下两种定义形式在本质上是一样的: 2.
阅读全文
摘要:一、 为什么需要命名空间(问题提出) 命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中 常见的同名冲突。 在 C语言中定义了3个层次的作用域,即文件(编译单元)、函数和复合语句。C++又引入了类作用域,类是出现在文件内的。在不同的作用域中可以定义相同名字的变量,互不于扰,系统能够
阅读全文
摘要:@2012-12-24 【小记】 函数调用未发生时,编译系统并没有给函数的形参分配实际内存空间,因此没有实际的参数值。 只有发生了函数的实际调用时,才给函数的各形参分配存储空间,同时将实参的值依次传递给各形参,函数调用结束后,系统释放形参所占用的存储单元。 【参考】 《面向对象程序设计与VC++》
阅读全文
摘要:@2018-11-1 字符串组成的数组存放于指针数组中,使用 sizeof 获取数组大小 【验证】 【结果】
阅读全文
摘要:@2018-10-31 负数的左右移位(变量自移位) 验证代码
阅读全文
摘要:@2018-10-29 【问题】 类型指针 Type_t *p; 类型数组 Type_t array[10]; p = &Type_t array[5]; p - &Type_t array[10] = ? 计算结果是地址差还是对象个数? 【结果】 验证代码如下: 结果是 5,对象个数
阅读全文
摘要:@2018-10-24 结构体函数指针成员与函数指针类型的结构体类型形参的相互嵌套定义及使用问题 具体代码
阅读全文
摘要:@2018-10-19 【方法】 巧妙利用0大小数组 char temp[0] = "This is test string!"; 编译结果: error: #144: a value of type "char [21]" cannot be used to initialize an entit
阅读全文
摘要:@2018-08-29 【小记】 结构体多维数组成员初始化的方法以及赋值内容的表示方法
阅读全文
摘要:@2018-08-28 变量 i,j 的自增越界后的结果是, i:0~255~0~255,j:0~127,-128~0~127
阅读全文
摘要:这是给编译器用的参数设置,有关结构体字节对齐方式设置, #pragma pack是指定数据在内存中的对齐方式。 #pragma pack (n) 作用:C编译器将按照n个字节对齐。#pragma pack () 作用:取消自定义字节对齐方式。 #pragma pack (push,1) 作用:是指把
阅读全文
摘要:函数参数 day 为枚举类型week,在使用函数 week_func() 时,参数只接收枚举值 Mon ~ Sun,输入数值1···或枚举值之外的值都是错误的
阅读全文