stl string append函数
2016-04-19 15:53
357 查看
basic_string<_CharT,_Traits,_Alloc>::append(size_type __n, _CharT __c) {
if (__n > max_size() || size() > max_size() - __n)
_M_throw_length_error();
if (size() + __n > capacity())
reserve(size() + max(size(), __n));
if (__n > 0) {
uninitialized_fill_n(_M_finish + 1, __n - 1, __c);
__STL_TRY {
_M_construct_null(_M_finish + __n);
}
__STL_UNWIND(destroy(_M_finish + 1, _M_finish + __n));
_Traits::assign(*_M_finish, __c);
_M_finish += __n;
}
return *this;
}
if (__n > max_size() || size() > max_size() - __n)
_M_throw_length_error();
if (size() + __n > capacity())
reserve(size() + max(size(), __n));
if (__n > 0) {
uninitialized_fill_n(_M_finish + 1, __n - 1, __c);
__STL_TRY {
_M_construct_null(_M_finish + __n);
}
__STL_UNWIND(destroy(_M_finish + 1, _M_finish + __n));
_Traits::assign(*_M_finish, __c);
_M_finish += __n;
}
return *this;
}
相关文章推荐
- iOS - 在工程中试玩状态模式
- Cordova - 使用Cordova开发iOS应用实战1(配置、开发第一个应用)
- 为什么JavaScript里面typeof(null)的值是"object"?
- iOS 文字中嵌套图片
- iOS9 新项目第一步:适配
- iOS 调试问题记录(二)
- Swift笔记:继承
- Android平台,利用zxing库开发扫码功能
- [置顶] Android开发之设置应用设置全屏的两种解决方法 兼容android5.0等两种解决方法
- swift笔记2
- Android练习项目 Mp3播放器实现(二)
- 你的应用是如何被替换的,App劫持病毒剖析
- Android 环境下编译FFmpeg
- 【Android】输入框控件EditText
- iOS切控件的半边圆角
- android加载大量图片内存溢出的三种解决办法
- Android中判断SD卡状态
- Android访问WEBAPI,传递json
- Android studio 百度地图开发(7)overlayManager、overlayutil应用
- ios 调了一天的自动布局的坑>_ >同一控件被多个对象引用