问题标签 [c++-address]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 跨编译单元的相同函数模板实例化的地址
为什么这行得通?
我看到类似的 SO 问题说明它确实如此,但有人可以更详细地解释它吗?特别是,这种行为是否受标准保护?
我
cc
b.cc
mcc
然后
折腾-Wall -Wextra -Werror -ansi
所有的g++
电话都会产生相同的结果。
我的(天真的)理解是在每个和编译单元FuncTemplate
中实例化一次,因此地址应该每个指向一个副本。毕竟这些结果如何相同,这种行为是可移植的还是受保护的?a.o
b.o
编辑共享库案例:
c++ - 指针将随机打印它的地址而不是它的指向值,C++
所以我有这个问题,输出打印我的指针的地址,我不知道为什么会发生这种情况,因为指针根本没有修改
继承人的代码:
我不知道为什么,但这会打印:
c++ - C ++类型是地址的抽象?- C++ 模板
不幸的是,我丢失了本文的链接和源代码,但我确实记得它是关于 C++ 中的元编程和模板的;在谈论模板方法的限制时,本文谈到了传递给模板的内容不是泛型类型,而只是具有相关地址的类型(或可寻址的,我不记得确切的词)可以作为参数传递给模板。
有人可以澄清地址、类型和模板之间的这种关系吗?
一个类型可以用一个地址来标识?
编辑
例如,在这个链接中,在链接的常见问题解答的最后一部分中,模板系统被描述为接受地址而不是泛型类型的东西。