首页 技术 正文
技术 2022年11月10日
0 收藏 974 点赞 4,498 浏览 1181 个字

1.下面程序在x64下结果

struct  st
{
int a;
long long b;
double c;
};int main() {
st s;
cout << &s.a << endl;
cout << &s.b << endl;
cout << &s.c << endl;
cout << sizeof(s) << endl;
int* p = nullptr;
cout << sizeof(p) << endl; system("pause");
return 0;
}

结果:

0000003DC3CAF658
0000003DC3CAF660
0000003DC3CAF668
24
8

知识点1.

结构体每个成员相对结构体首地址的偏移都是每个成员本身大小的整数倍。

知识点2.

x64下,指针为8位。

2.知识点

const int* p; p的内容可以变,*p不可以变。

int * const p; *p可以变,p不可以变。

3.下面程序的结果

int i=0,a=1,b=2,c=3;
i=++a||++b||++c;
printf("%d %d %d %d",i,a,b,c);

结果:1 2 2 3

知识点:

||前++a 返回true,所以不会再计算后面的表达式

4.一元运算符重载

class A
{
public: A& operator++()
{
return *this;
} A& operator++(int)
{
return *this;
}
};int main() { A a;
a++; //++(int)
++a; //++
system("pause");
return 0;
}

5.下面程序

class A
{
public:
void fun() const
{
delete this;
} ~A()
{
delete this;
}
};void fun()
{
static int i = 10;
i++;
cout << i << endl;
}int main() {
A *a = new A();
a->fun();
delete a; system("pause");
return 0;
}

析构函数中会导致无限循环,堆栈溢出。fun按原理说不会出错,但vs下会出错。

6.多态分为静态和动态多态,静态多态也就是函数重载,包括函数重载和运算符重载

7.C++中的常量折叠:指const变量(即常量)值 放在编译器的符号表中 ,计算时编译器直接从表中取值,省去了访问内存的时间,从而达到了优化。

const int i = 0;
int *j = (int *)&i;
*j = 1;
printf("%d,%d", i, *j);

C++结果:0,1

8.数组指针和二级指针的区别

  • 二级指针是指向指针的指针, 也就是说二级指针必须指向一个一级指针, 而这个一级指针存放的是一个内存地址。
  • 一维数组可以看成是一级指针,但是二维数组却不能看成是二级指针。

就以a[2][3]举例:

a[2][3]其实就是两个维度为3的一维数组合并起来的二维数组, 也可以看成是一个一级数组指针 所以并不能用二级指针直接操作二维数组。 应该使用 数组指针int (*p)[3] = a;

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,914
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,438
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,252
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,063
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,698
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,734