网站的logo怎么换wordpress文章怎么生成海报
2026/2/18 4:06:57 网站建设 项目流程
网站的logo怎么换,wordpress文章怎么生成海报,营销型网站建设公司价格,家庭安全卫士论坛WordPresstoulouse 翻译 我刚刚在昨天遇到珍妮#xff0c;就在人员中转站#xff0c;现在已经远远在我们脚下了。“我会永远记住我的第一个工作#xff0c;”在乘务员检查完我们的安全带后#xff0c;我对她说。 “想起了什么” “项目组高级程序员#xff0c;”我微笑着说#xf…toulouse 翻译我刚刚在昨天遇到珍妮就在人员中转站现在已经远远在我们脚下了。“我会永远记住我的第一个工作”在乘务员检查完我们的安全带后我对她说。“想起了什么”“项目组高级程序员”我微笑着说陷入了回忆中。“她是个古怪的家伙我们都叫她做Guru。领导不喜欢把新来的程序员分到她的组里我是当年招聘的四个人中唯一坚持到试用期结束的。”珍妮扭过头刚准备问一个问题这时钟声响起隆隆的加速声响彻整个机舱我们的谈话因此中断了好几分钟等这截推进器快烧完时我们已飞离轨道我给她讲述了工作第二天发生的故事。我们用早期的C语言编程。工作的第二天中午厌烦了读职工手册于是我写了一个工具类里面包含一个原始指针作为成员变量#include xStruct.h // definition of struct Xclass xWrapper{X* xItem;public:xWrapper() : xItem(new X) { }~xWrapper() { delete xItem; }void dump() { /* dumps xItem to cout */ }};当然了使用这个类的程序由于内存问题总是时不时的崩溃因为我违反三个重要设计原则之一任何时候只要你提供了析构函数、拷贝构造函数或赋值运算符中的一个你通常需要三个都提供。([1]) “所以”我自言自语道“我必须自己处理拷贝和赋值问题。简单地...auto_ptr有拷贝构造函数和赋值运算符我可以拿过来用一下。”你知道早期C程序库中的auto_ptr是吗既然auto_ptr自动删除它所指向的对象我只需要改变xItem的类型移去析构函数中的delete语句auto_ptr会处理其他的事情对吗Class xWrapper{auto_ptrX xItem;public:xWrapper() : xItem(new X) { }void dump() { /* dumps xItem to cout */ }};不幸的是程序仍要崩溃这次是由于它试图对空指针进行提领操作。我对这个问题苦苦思索了半个小时这时Guru碰巧从我这里路过像芦柴棒一样瘦瘦的她一只手里捧着厚厚的一本打开的书。 她来得――我的意思是她来得太不是时候了真是怕什么来什么实际上这简直称得上诡异了。“哦你在看什么”我指着书问想让她的注意力从我的屏幕挪开同时也希望着她能离开。Guru眨了眨眼睛。“Josuttis的书”她边温和地说着边做了个标记并合上书。“年轻人你写了些什么啊”“我在写这个wrapper class时遇到了问题”我承认道“我使用了auto_ptr成员但是在测试时不知为什么它的指针重置为null。”“把你的代码给我看一下”Guru说。我把屏幕转向她。“所有权”仅仅扫了一眼她立刻说这回轮到我眨眼睛了。“所有权孩子你的问题是所有权语义学。一臣不事二主没有指针可以同时给两个auto_ptr使用。”她的话虽然很怪却使我意识到了自己的错误。“哦是的”我答道。“当你拷贝一个auto_ptr的时候原来的那个放弃了所有权重置为null。Xwrapper的拷贝构造函数使用了那个缺省的行为所以原来xWrapper对象的auto_ptr被重置于是我存取它的时候实际上是在提领一个null指针。”“对的”Guru说。“你能使用标准里已有的代码这很好不过使用的时候要小心。对于xWrapper来说你还是必须自己写拷贝构造函数和赋值运算符。”“但是我没法用auto_ptr的拷贝构造函数和赋值运算符来实现他们啊因为auto_ptr自己的版本无法正确的……哦。有办法了。我可以用auto_ptr的提领运算符访问其拥有的对象。”我很快写下了下面的两个函数XWrapper::xWrapper(const xWrapper other): xItem(new X(*other.xItem)){ }xWrapper xWrapper::operator(const xWrapper other){*xItem *other.xItem;}“嗨cool。”我喜欢这个实现“我甚至不需要在赋值运算符里检查自我赋值。”“很好。”我应该就此打住闭紧嘴巴可惜我当时正得意着呢:“使用auto_ptr很容易出错。如果在我实际上并不想发生所有权转移时它可以告诉我它将试图转移所有权那有多好啊……”。”“冷静一下”Guru打断了我。“这不是auto_ptr的错。如果你想达到这个效果你应该明确地说明你不想auto_ptr被拷贝。”“但是怎么去做呢这是不可能的。”“可能的。记住const修饰符的使用。声明一个auto_ptr不可变的方法是使它成为const。假如你让成员成为一个const编译器就不能不声不响地产生xWrapper对象的一个拷贝。或者你可以使用一个也许叫strict_auto_ptr的修正版本这样编译器就不会错误地拷贝和赋值xWrapper。当然在这种情况下让它成为const比较简单和有效率。” ([2])她离开的时候又重新打开Josuttis的书继续看了起来边走边心不在焉地和我说这话。她和她的声音慢慢地远去“要注意的是我的孩子...auto_ptr是一个有用的工具但是就象你刚才发现的那样它不是万能的。好好琢磨Josuttis chapter 4.[3]永远不要在标准程序库的容器中用auto_ptr如vectorauto_ptr因为auto_ptr的拷贝和赋值不能达到标准的要求。此外永远不要用auto_ptr指向对象数组因为auto_ptr的析构函数用non-array delete删除所拥有的对象对于对象数组来说可以用一个vector。程序库...”这时她转了个弯消失了。这只是我工作的第二天我告诉自己不能空闲下来我应该不断地学习前面的路还很长“不可思议”珍妮说喝着咖啡此时飞船已飞离了泰兰的交通控制区域并继续加速“那么你离开了吗”“她...我不确定为什么”我坦白承认“这种事发生了好几次。我也想和其他人那样在试用期离开尽管他可能对我有好的影响。你曾经和这样的怪人工作过吗”“嗯我想也有一些。”这不是最后一次我和珍妮谈论Guru或其他更令人高兴的事。[注释]1. M. Cline, G. Lomow, and M. Girou. C FAQs, 2nd ed. (Addison-Wesley, 1999).2. Ibid., FAQ 30.12, pages 426-8.3. N. Josuttis, The C Standard Library (Addison-Wesley, 1999).

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询