C/C++中 struct 和 class 的区别

一、 class 和 struct 的区别 C++中 class 和 struct 的区别: 继承权限,struct 的默认继承权限为 public,class 的默认继承权限为 private 。 访问权限,struct 的默认访问权限为 public,class 的默认访问权限为 private 。 网上还流传着其他一些的区别,但 ... 阅读更多

指针和引用的区别

区别: 指针是一个变量类型,引用只是一个变量别名。 指针可以不用初始化,引用必须初始化。 指针可以指向空地址,引用不能指向空。 指针初始化后可以修改,引用不能修改。 其他: 引用本质上也是一个指针,内部实现是一个常量指针。 C++中一般建议使用引用,不要使用指针。函数传值建议使用 const 引用。

面试题:转换十六进制字符串到十六进制数据

前几天面试时候遇到的问题:

给定一个十六进制字符串"AB",转换成十六进制的整数 0xab 输出。

临时接到的面试通知,赶场子过去一坐下就给个题目,说实话面试了一两个星期是第一次做这方面的面试题。没有思想准备,当时脑海里就闪过两个念头,一个是左移,一个是直接进制转换。

阅读更多

几个 golang 面试题及解析

一、以下代码的输出内容为

答案

解析 考查 defer 和 panic 组合的情况,在有 panic 时,会先执行 defer 然后再把恐慌传递出去。 更多相关内容可查看 defer 常见 ... 阅读更多

多态的原理:vptr 指针和 vtable 虚函数表

多态是 C++中的重要内容,也是设计模式的基础。

形成多态的几个基本条件为:

  • 继承和虚函数
  • 父类对象指向子类对象

多态形成的原理就是 vptr 指针和 vtable 虚函数表,当一个类中有虚函数时,编译器就会自动生成虚函数表,并生成一个 vptr 指针指向这个虚函数表。调用虚函数的时候,会通过这个 vptr 指针找到相应的虚函数表,然后再定位到对应的函数,以此来调用形成多态。

阅读更多

C++类对象的声明方式和注意事项

定义以下类:

阅读更多

面试题:C++中 malloc/free/new/delete/new[]/delete[] 的差别

一、几者的区别 malloc/free 是 c 语言中分配内存空间的函数,malloc 创建空间,free 释放空间。 new/delete 是 c++中分配内存的操作符,new 创建空间,delete 删除空间。 new[]/delete[] 也是 C++中的操作符,用来给数组分配和释放空间。 malloc 只是简单的分 ... 阅读更多

C++面试题集锦:赋值语句相关

一、未定义变量的初始值和变量作用域 下列 C/C++代码的输出结果是什么:

c 语言中,局部变量的优先级会高于全局变量。这里 int i = i; 中的 i 和全局变量中的 i 是无关的。 对于全局变量和静态变量,没有初始化系统会默认置零。而局部变量 ... 阅读更多