fisher_jiang的专栏

修身,齐家,治国,平天下

用户操作
[即时聊天] [发私信] [加为好友]
明江ID:fisher_jiang
94277次访问,排名1027(1),好友6人,关注者10人。
fisher_jiang的文章
原创 114 篇
翻译 0 篇
转载 68 篇
评论 69 篇
最近评论
cedar123:不错,讲得很好。
fisher_jiang:回复weartoby:如果删除的结点位于链表的尾部,没有下一个结点,我们仍然从链表的头结点开始,顺便遍历得到给定结点的前序结点,并完成删除操作
weartoby:我个人觉得:
设假如A结点要被删除:
由A->next 找到 B ,把B的数据内容复制到A,并且删除原来的原来的B点,使B’指向C应该就成了。

---A---B----c---
---B'---B----C---
---B‘---------c---
simonjo:真正的纯粹搞技术,收入肯定不能向sales,marketing,甚至finance看齐。
不过在IBM搞技术的话,只要能熬得下去,30若干年后,没准就能混到DE,不过貌似不带项目也不行。
chenxiong115:大哥你好,我曾今看到网上说这个算法是出自某本书,我不知道是哪本书,可以告诉我么?谢谢啦。
文章分类
收藏
    相册
    Internship@ google
    我的大学
    链接
    bevin 的 Blog(死党)
    Csdn 技术中心
    kevinsID的天空--安全大牛
    rover的Blog
    Simonjo的blog(睡在我上铺的兄弟)
    zik的Blog(同寝室的哥们)
    会飞的鱼
    信息安全专栏 -- 褚诚云
    北斗星君--Dev-Cpp/Mingw32/GCC专栏
    小强的BLOG
    我手写我心(韦煜-朗讯的兄弟)(RSS)
    照妖镜--中学时代的才女
    琢思磋文轩(北软师兄的blog)
    程序员面试题精选
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 模板函数的声明和定义都放在.h文件收藏

    新一篇: static_cast、dynamic_cast、reinterpret_cast、和const_cast | 旧一篇: __cdecl,__fastcall与__stdcall

    一个模板函数,把声明和定义分别放在.h文件和.cpp文件种,如果不调用这个函数的话,编译连接都能通过,但是如果调用这个函数的话,连接就有错误如下:        

    --------------------Configuration:   IRSEG   -   Win32   Release------------------ --     Compiling...     Location.cpp     Linking...     Location.obj   :   error   LNK2001:   unresolved   external   symbol   "void   __cdecl   output_vector(class   std::vector<class   std::basic_string<char,struct   std::char_traits<char>,class   std::allocator<char>   >,class   std::allocator<class   std::basic_string<char,struct   s     td::char_traits<char>,class   std::allocator<char>   >   >   >   &)"   (? output_vector@@YAXAAV?$vector@V?$basic_string@DU?$char_traits@D@std@@V? $allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V? $allocator@D@2@@std@@@2@@std@@@Z)     Release/IRSEG.exe   :   fatal   error   LNK1120:   1   unresolved   externals     Error   executing   link.exe.         IRSEG.exe   -   2   error(s),   0   warning(s)  

    C++   Primer   第三版   中文版      

    10.5   模板编译模式:      

    "C++支持两种模板编译模式包含模式Inclusion   Model   和分离模式Separation   Model"       10.5.1   包含编译模式        

     "在包含编译模式下我们在每个模板被实例化的文件中包含函数模板的定义并且往往把定义放在头文件中像对内联函数所做的那样"      

    10.5.2   分离编译模式        

    "在分离编译模式下函数模板的声明被放在头文件中"

     "在模板定义中有一个关键字export", "关键字export 告诉编译器在生成被其他文件使用的函数模板实例时可能需要这个模板定义编译器必须保证在生成这些实例时该模板定义是可见的"        
    "关键字export   不需要出现在头文件的模板声明中"        

    "分离模式使我们能够很好地将函数模板的接口同其实现分开进而组织好程序以便把函数模板的接口放到头文件中而把实现放在文本文件中但是并不是所有的编译器都支持分离模式即使支持也未必总能支持得很好支持分离模式需要更复杂的程序设计环境所以它们不能在所有C++编译器实现中提供" 

     "Inside   the   C++   Object   Model   描述了一个C++编译器the   Edison   Design   Group   compiler支持的模板实例化机制"        

    很遗憾,目前VC的任何版本(visual   studio   2005未知)皆不支持分离模式!

    大部分编译器在编译模板时都使用包含模式    

    也就是一般使用的把模板放到头文件中在包含

    当你不使用这个模版函数或模版类,编译器并不实例化它 ,当你使用时,编译器需要实例化它,  

     因为编译器是一次只能处理一个编译单元, 也就是一次处理一个cpp文件,所以实例化时需要看到该模板的完整定义 .    所以都放在头文件中          

      这不同于普通的函数, 在使用普通的函数时,编译时只需看到该函数的声明即可编译, 而在链接时由链接器来确定该函数的实体

    发表于 @ 2008年04月30日 10:45:00|评论(loading...)|编辑

    新一篇: static_cast、dynamic_cast、reinterpret_cast、和const_cast | 旧一篇: __cdecl,__fastcall与__stdcall

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © 明江