2019.9.22深信服面试

本文探讨了C++中malloc与new的区别,如何优雅地处理new操作失败,以及通过宏定义实现MAX函数的方法。同时,文章还讨论了统计struct构造函数调用次数的技巧,手写memcpy函数的实践,以及高效存储和查找百万级域名的策略。此外,文中还提供了32位和64位系统下各种变量类型的大小对比。

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

聊项目,完成的内容,遇到的难点
malloc和new的区别,有没有方法可以再new失败后得到一个返回值,而不是抛出异常
标准 C++ 提供了一个方法来抑制 new 抛出异常,而返回空指针:

    int* p = new (std::nothrow) int; // 这样如果 new 失败了,就不会抛出异常,而是返回空指针
    if ( p == 0 ) // 如此这般,这个判断就有意义了
        return -1;
    // 其它代码

用宏定义写一个MAX函数
如何统计struct构造函数调用的次数,一个static,忘了在结构体外初始化了,
手写一个memcpy函数
100万的域名,如何保存和查找:前缀树?
1分钟内发生的概率是K,3分钟发生的概率是多少
32位系统的各个变量的大小是多少
找出一篇文章出现次数top10的单词

32位
char 1
short 2
int long float 4
double,long long
64位
char 1
short 2
int float 4
long ,double,long long 8
但是我的64位机,dev-c上long 是4

64位只是long 变成了8位,16位只是int变成了2位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值