C++基础
obsorb_knowledge
心有不甘,呼唤着我
展开
-
c++ 中的sizeof() 重要
1.定义sizeof是一个操作符(operator)。其作用是返回一个对象或类型所占的内存字节数。2.语法sizeof有三种语法形式:1)sizeof (object);//sizeof (对象)2)sizeof object;//sizeof对象3)sizeof (type_name);//sizeof (类型)对象可以是各种类型的变量,以及表达式(一般sizeof不会对表达式进行计算)。sizeof对对象求内存大小,...原创 2020-05-12 12:32:22 · 187 阅读 · 0 评论 -
c++ 中的字节对齐和字节填充
c++内存中字节对齐问题详解一、什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构的CPU在访问一个没有进行对齐的变量的时候...原创 2020-05-12 12:13:45 · 1726 阅读 · 0 评论 -
c++ 基础(一)
1、解析下面含义int *p1 = new int[10]; int *p2 = new int[10]();答:p1申请的空间里的值是随机值,p2申请的空间里的值已经初始化对于内置类型而言,new仅仅是分配内存,除非后面显示加(),相当于调用它的构造函数,对于自定义类型而言,只要一调用new,那么编译器不仅仅给它分配内存,还调用它的默认构造函数初始化,即使后面没有加()...原创 2019-12-24 15:39:12 · 309 阅读 · 0 评论 -
顶层const和非顶层const和函数重载的问题
不懂顶层const和非顶层const的区别的先查看我的这篇博客:https://blog.csdn.net/obsorb_knowledge/article/details/100926991介绍const函数重载的问题前,先介绍一下下面代码:#include<iostream>using namespace std;int ans = 42;void fun(int ...原创 2019-11-30 15:20:40 · 505 阅读 · 0 评论 -
#define、const 的区别 const int、const int *、int *const、const int *const、const int &的用法
一、#define和const的区别(1)就起作用的阶段而言: #define是在编译的预处理阶段起作用,而const是在 编译、运行的时候起作用。(2)就起作用的方式而言: #define只是简单的字符串替换,没有类型检查。而const有对应的数据类型,是要进行判断的,可以避免一些低级的错误。(3)就存储方式而言:#define只是进行展开,有多少地方使用,就替换多少次,它定义的宏常量...原创 2019-09-17 15:21:39 · 2089 阅读 · 0 评论