从reddit/hackernews/lobsters/meetingcpp摘抄一些c++动态
周刊项目地址|在线地址 |知乎专栏 | 腾讯云+社区 |
欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue
20220610更新。本期内容少的可怜
标准委员会动态/ide/编译器信息放在这里
编译器信息最新动态推荐关注hellogcc公众号 本周更新 2022-06-08 第153期
博览网之前的送书活动又开始了,需要付个邮费
扫码就行了
阿里居然有c++编译器团队
值得一看
测了一组不同大小的结构体用的数据
std::string GetThemeName();
void Vulnerable()
{
auto theme = GetThemeName().c_str();
if (strcmp(theme, "Light") == 0) {
SetLightTheme();
} else if (strcmp(theme, "Dark") == 0) {
SetDarkTheme();
} else {
SetDefaultTheme();
}
}
这种异常泄漏有被攻击的可能性
Unique ptr的指定delete是模版参数的一部分,没有type erease,不同类型deleter就不能赋值了
template <typename T>
struct FakeDeleter {
void operator()(T *ptr){
std::cout << "FakeDeleter doesn't delete\n";
}
};
template <typename T>
struct LoggingDeleter {
void operator()(T *ptr){
std::cout << "LoggingDeleter is at work\n";
delete ptr;
}
};
std::unique_ptr<int, FakeDeleter<int>> upFD (new int(42), FakeDeleter<int>());
std::unique_ptr<int, FakeDeleter<int>> upFD2 (new int(51), FakeDeleter<int>());
std::unique_ptr<int, LoggingDeleter<int>> upLD (new int(42), LoggingDeleter<int>());
upFD = std::move(upFD2); // OK
upFD = std::move(upLD); // NOT OK, fails to compile!
std::shared_ptr<int> spFD (new int(51), FakeDeleter<int>());
std::shared_ptr<int> spFD2 (new int(51), FakeDeleter<int>());
std::shared_ptr<int> spLD (new int(51), LoggingDeleter<int>());
spFD = spFD2;
spFD = spLD;
压测对比vector 和list,结果vector表现很好,主要是局部性的优势,把list底层的内存搞成一个整块内存,效果也不差。熟悉这种压测思路
没啥说的。
ACCU 结束了。视频还没看。cppcon也没看完。最近挺忙。视频看得少
没啥可推荐的
给大家整个梗图吧
有没有可以远程的工作可以联系我