众所周知,VC6对Templates的支持非常差,但是由于工作需要,我还是希望能够在VC6上实现一个Tuple,这个好像比实现remove_reference还难了(boost好像也没有实现一个VC6下可运行的Tuple),因为Tuple的实现中用到typedef的递归,这种方式VC6会出现死循环。我做了一个简化的测试工程,请高手帮忙看看有没有好的办法绕过这个问题?多谢!
代码如下:(如果用enum部分进行递归,VC6下能正确运行)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
借鉴了boost的一段代码,解决了VC6下实现Tuple的问题:
注释掉的部分是原来有问题的实现,为何boost的解决方案可行,还没来得及仔细研究,如果您知道,请告诉我:)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)
![InBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/93f07565306fc40ca9581b2cf53949c8.png)