C++笔试题(十二).金山

这道C++编程题目涉及KsoPointer类的设计,要求在对象析构后能判断指针无效,防止野指针导致程序崩溃。解题关键在于理解和正确实现引用计数及检查指针是否已被释放。同时,题目还包含了一个数字排列问题的解决方案,通过优化搜索策略解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

8.(单选)下列函数中,哪个不是

void Fun(int m,int& n)
的函数重载 

A. void Fun(int  , int *)
B. void Fun(int& m, int& n)
C. void Fun(const int m, int& n)
D. void Fun(int m,const int&n)


编程题:

3.  STL中有位操作的bitset, 但是它定义的时候必须指定大小,比如下面这段程序,设置了位置2的布尔值为true,输出结果为“0 0 1 0 0”

std::bitset<5> x(0);//初始化5个位置都为0
x.set(2);
for(size_t i = 0 ; i < 5; i++)
{
        std::out<<x[i]<<" ";
}
现在实现一个类BitSetX比bitset更好用,容量能按需增长,要求取布尔值时尽可能的快。

class BitSetX
{
	public:
		void set(int nPos);
		void set(int nFrom,int nTo);
		void reset(int nPos);
		void reset(int nFron,int nTo);
		bool get(int nPos) const;
	protected:
};


四. 实现一种智能指针类,类名定为 KsoPointer, 在我们的架构中,普通对象(下文用Object泛指)的类都继承自同一个类Ks
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值