☻C++ Q&A


0. 什么是“第一性原理”?

  1. 函数指针的定义泛式与原理?
  2. 联合(union)的原理是怎样的?联合类型对象的指针是什么意思?
  3. 命名空间在.h和.cpp中怎么定义和使用,是什么原理?
  4. 静态变量/函数在.h和.cpp中怎么定义和使用,与普通函数的区别是什么?
  5. 宏的运行原理和在代码中的执行逻辑是什么?
  6. #pragma once#ifndef _ABC_H_ #define _ABC_H_ … #endif 的区别?用它们是为了解决什么问题?
  7. 为什么要用友元函数?它有什么是别个取代不了的作用?如何声明、定义、调用?那么,声明友元类,友元类的不可替代之作用与具体用法是怎样的?
  8. 可以将一个头文件中的函数分别在三个源文件中定义实现吗?为什么?
  9. 写一个类A的辅助类B,用B封装不希望暴露给客户端的数据和方法,使得 A 只暴露必要的 API 给客户端。先描述清晰思路!再写出样例代码。(参考
  10. 如下代码会有什么问题吗?为什么?
struct MySt arr[] = {};
void foo(MySt* st) {
	int SIZE = sizeof(arr) / sizeof(*arr);
	for (int i = 0; i < SIZE; i++)
		cout << st[i].name;
}
  1. 下面代码违反One Definition Rule(ODR)行为吗?如果加上static关键字情况会不一样吗?什么原理?
// comm.h
int com[5]; /* what if add 'static' keyword? */
// a.h
#include "header.h"
...
// a.cpp
#include "a.h"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

itzyjr

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值