幻の上帝吧 关注:328贴子:3,165
  • 13回复贴,共1

帖子被删了

只看楼主收藏回复

@幻の上帝


IP属地:江苏1楼2016-09-06 18:50回复
    帝球有个我提问的帖子被删了。。我重发
    关于内部链接和外部链接的问题,看到两种说法感觉不太对。帮我鉴定下:
    http://blog.csdn.net/zhanglianpin/article/details/6845818

    http://stackoverflow.com/questions/1358400/what-is-external-linkage-and-internal-linkage-in-c


    IP属地:江苏2楼2016-09-06 18:52
    收起回复
      感觉博客那个错了。。。


      IP属地:江苏3楼2016-09-06 18:52
      收起回复
        没发现你哪贴删了,被度娘吃了?


        IP属地:北京4楼2016-09-06 21:26
        收起回复
          那几个SO回答都不靠谱,我补一下吧。


          IP属地:北京5楼2016-09-06 21:34
          收起回复
            @幻の上帝 帝球有个东西有点糊涂:
            3.5 Program and linkage [basic.link]
            When a name has external linkage, the entity it denotes can be referred to by names from scopes of other translation units or /*from other scopes of the same translation unit.*/
            注释起来的部分表明了这个实体可以提到其他的同一单元的作用域里
            那这个怎么编译不了:

            #include <iostream>
            extern int i;
            void g()
            {
            i=3;
            std::cout<<i<<std::endl;
            }
            int main()
            {
            g();
            return 0;
            }

            Otherwise, if no matching entity is found, the block scope entity receives external linkage.[ Example:
            static void f();
            static int i = 0; // #1
            void g()
            {
            extern void f(); // internal linkage
            int i; // #2 i has no linkage
            { extern void f(); // internal linkage
            extern int i; // #3 external linkage
            }
            }
            这里的i(#3)是不是和①里面的name i有相同的外部链接,如果是,怎么在其他的作用域里赋值。
            不是很懂。。


            IP属地:江苏6楼2016-09-11 20:58
            收起回复
              幻の上帝
              帝球 1.里的那个声明能在同一个TU里“用”,这个用具体怎么用,能不能写个简单的小例子。
              2.那个只是同名不是同一个是么。。


              IP属地:江苏8楼2016-09-11 22:16
              收起回复