c++
klyhssrs
这个作者很懒,什么都没留下…
展开
-
使用stringstream对象简化类型转换
C++标准库中的提供了比ANSI C的更高级的一些功能,即单纯性、类型安全和可扩展性。在本文中,我将展示怎样使用这些库来实现安全和自动的类型转换。为什么要学习如果你已习惯了风格的转换,也许你首先会问:为什么要花额外的精力来学习基于的类型转换呢?也许对下面一个简单的例子的回顾能够说服你。假设你想用sprintf()函数将一个变量从int类型转换到字符串类型。为了正确地完成这个转载 2017-03-20 12:43:12 · 321 阅读 · 0 评论 -
一桩由android崩溃引发的血案
游戏在android下切换场景时崩了,查看崩溃日志发现是在Unit对象析构时发生了SEGV_MAPERR,仔细研究了一番,发现是在访问一个指针成员时出错,这个指针指向的内存已经被释放了。但是为什么只在android下崩,win和ios都没出现呢,然后调试win下的代码,发现在win下根本没走到这一行代码来,在前面有一行检测另一个vector成员size是否大于0,大于0才会继续往下走,在and...原创 2018-12-27 11:46:34 · 150 阅读 · 0 评论 -
C++标准库走向统一
上期碰到的问题就是与STL在不同平台行为不一致有关,现在终于要走向统一了。苹果在XCode10和iOS12中移除了libstdc++这个库,由libc++这个库取而代之,苹果的解释是libstdc++已经标记为废弃有5年了,建议大家使用经过了llvm优化过并且全面支持C++11的libc++库。libc++,从Lollipop开始的官方安卓系统和现代Mac操作系统都将其作为C++标...转载 2018-12-27 11:54:15 · 217 阅读 · 0 评论 -
安卓下SIGBUS BUS_ADRALN字节对齐问题
游戏在安卓下崩溃,特别的是debug版正常,release版才崩,这个是内存字节对齐问题。Linux会对非对齐内存访问 的进程发送SIGBUS的信号,Windows允许非地址对齐的内存访问(会损失性能),所以程序在Windows操作系统下,不会出错。Win32平台下的微软VC编译器在默认情况下采用如下的对齐规则:任何基本数据类型T的对齐模数就是T的大小,即sizeof(T)。比如对...原创 2019-04-23 20:39:50 · 8170 阅读 · 0 评论