一些面试问题总结

1. ln命令用于创建硬链接;ln-s可以创建软连接。

2.  inode包含文件的元信息。在linux系统当中,不是用文件名来标志一个文件,而是用inode。因此,硬链接就是多个文件名指向同一个inode,当删除其中一个链接时,该inode对应的文件名减少1;软连接是一个文件的内容存储的是另一个文件的路径,虽然对应不同的inode号码,但是由于中间文件的存在,仍然可以访问inode信息,但是如果另一个文件不存在了,打开当前的文件就会出错。总结起来,硬链接是并联,软链接是串联。

3. 纯虚函数:virtual void func()=0; 重要的是=0。一个函数没有函数体时,写不写大括号都是一样的。virtual void func();是一个虚函数,void func();是一个普通类函数。纯虚函数的目的:如果直接实例化,会报错,并且如果在子类中没有覆盖该函数也会报错。

4. 单例模式:

/*考虑到线程安全,即一个线程在创建该实例时,不能让另一个线程创建该实例,需要加锁。*/
//有默认的构造函数来支持类的拷贝。所以采用局部静态变量的时候,需要禁用拷贝构造函数和operator=
class singleton{
private:
singleton(){}
singleton(const singleton &);
singleton& operator=(const singleton&);

public:
static singleton * getInstance();
static singleton *pInstance;
};

singleton* singleton::pInstance=0;

singleton* singleton::getInstance(){
	if(pInstance==NULL){
		lock();
		if(pInstance==NULL){
			pInstance= new singleton();
		}
	}
	unlock();
	return pInstance;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值