当前位置: 首页 > news >正文

西瓜网络深圳网站建设 东莞网站建设3d云设计平台

西瓜网络深圳网站建设 东莞网站建设,3d云设计平台,什么是模板建站,深圳网红打卡旅游景点共享内存由于是多进程共享的#xff0c;里面的数据不适合包含指针#xff0c;因为共享内存在不同进程里的地址并不相同。尽管可以在连接共享内存时指定连接地址#xff0c;但是#xff0c;这样做限制太多#xff1a; 不同硬件、系统这个地址可能不一样#xff0c;没有通…        共享内存由于是多进程共享的里面的数据不适合包含指针因为共享内存在不同进程里的地址并不相同。尽管可以在连接共享内存时指定连接地址但是这样做限制太多 不同硬件、系统这个地址可能不一样没有通用性动态挂载、卸载不能保证地址可用从而只能在进程加载时尽早连接共享内存不同的使用共享内存的组件存在冲突可能导致地址不可用 因此坚持由系统分配连接地址是合理的。这样就要求共享内存里的数据不包含指针通常我们都选择只使用简单结构但是即使是简单结构我们也可以尽量包装一下方便使用。 这里就是一个字符串的模板sstringint用来替代sstring。设计思想很简单就是个定长数组提供类似string的操作。 这个代码在sstring后面还包含了两个运算符重载用来支持和。 代码是用于unix/linux的。 #include cstring #include string//定长字符数组模板共享内存不能用stringchar[]又不安全 template long BUFSIZE class sstring { private:char data[BUFSIZE];static void _copydata(char * buf, char const * source){buf[BUFSIZE - 1] \0;long i 0;for (; i BUFSIZE - 1; i){buf[i] source[i];if (\0 source[i])break;}for (; i BUFSIZE - 1; i){buf[i] \0;}} public:sstring() { memset(data, 0, BUFSIZE); }~sstring() { memset(data, 0, BUFSIZE); }sstring(sstring const tmp) { _copydata(data, tmp.data); }sstring(char const * psz) { _copydata(data, psz); }sstring(std::string const str) { _copydata(data, str.c_str()); }sstring operator(sstring const tmp) { _copydata(data, tmp.data); return *this; }sstring operator(char const * psz) { _copydata(data, psz); return *this; }sstring operator(std::string const tmp) { _copydata(data, tmp.c_str()); return *this; }long size()const { return strlen(data); }char const * c_str()const { return data; }char const operator [](long off)const { return data[off]; }bool operator (char const * tmp)const { return 0 strcmp(data, tmp); }bool operator (sstring const tmp)const { return 0 strcmp(data, tmp.data); }bool operator (std::string const tmp)const { return 0 strcmp(data, tmp.c_str()); }bool operator ! (char const * tmp)const { return 0 ! strcmp(data, tmp); }bool operator ! (sstring const tmp)const { return 0 ! strcmp(data, tmp.data); }bool operator ! (std::string const tmp)const { return 0 ! strcmp(data, tmp.c_str()); }bool operator (char const * tmp)const { return 0 strcmp(data, tmp); }bool operator (sstring const tmp)const { return 0 strcmp(data, tmp.data); }bool operator (std::string const tmp)const { return 0 strcmp(data, tmp.c_str()); }bool operator (char const * tmp)const { return 0 strcmp(data, tmp); }bool operator (sstring const tmp)const { return 0 strcmp(data, tmp.data); }bool operator (std::string const tmp)const { return 0 strcmp(data, tmp.c_str()); }bool operator (char const * tmp)const { return 0 strcmp(data, tmp); }bool operator (sstring const tmp)const { return 0 strcmp(data, tmp.data); }bool operator (std::string const tmp)const { return 0 strcmp(data, tmp.c_str()); }bool operator (char const * tmp)const { return 0 strcmp(data, tmp); }bool operator (sstring const tmp)const { return 0 strcmp(data, tmp.data); }bool operator (std::string const tmp)const { return 0 strcmp(data, tmp.c_str()); } };template long BUFSIZE inline std::ostream operator (std::ostream out, sstringBUFSIZE const data) {out data.c_str();return out; }template long BUFSIZE inline std::istream operator (std::istream in, sstringBUFSIZE data) {std::string tmp;in tmp;data tmp;return in; }这个代码在我的共享内存体系里是个基础对象广泛使用。 这里是结束
http://www.dnsts.com.cn/news/230497.html

相关文章:

  • 怎样自己免费搭建网站北京seo优化费用
  • 个人网站备案名和运营莱芜公司做网站
  • 安徽网站推广营销设计门户网站导航建设方案
  • 有域名的话怎么做网站wordpress 英文版
  • 营销型网站建设总结网站建设基础考试
  • 有口碑的盐城网站开发济宁网站建设500元
  • 网站怎么做流量统计企业整体vi设计
  • 长沙网站优化外包泰安招聘网站有哪些
  • 佛山做网站费用网站建设方案多少钱
  • 广东东信润建设有限公司网站茂名放心营销网站开发
  • 网站建设支付wordpress 百度收录
  • 湖南做网站磐石网络不动产网站建设
  • 如何让做树洞网站破解要钱网站
  • 百度网站优化排行杭州公司建网站
  • 网站开发时遇不到算法1688货源网一件代发童装
  • 检察院加强网站建设长春seo排名优化
  • 移动建站是什么意思淘宝联盟怎么推广
  • 做简单的网站多少钱建筑公司有哪些
  • 坪地网站建设价格好看的影视大全下载
  • 免费网站建设设计制作公司做网站大概需要几个人
  • 哪个网站做舞蹈培训推广效果好网站建设企业哪家好
  • 北京网站建设公司官网项目管理系统开发
  • 福州建网站 做网页建筑网片排焊机
  • 财经那个网站做的好效果好企业营销型网站建设
  • 移动网站建设多少钱免费网站在线观看
  • 深圳招聘信息在哪个网站wordpress会员修改
  • 廉洁沈阳网站wordpress时间云储存
  • 淘宝里网站建设公司可以吗沈阳高端网站设计
  • 网站开发创业计划书财务分析百度智能导航地图
  • 无锡网站怎么推广效果好电子商务有哪些工作岗位