﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-C++ OpenGL Computational Geometry</title><link>http://www.cppblog.com/Peterfl/</link><description /><language>zh-cn</language><lastBuildDate>Thu, 23 Apr 2026 10:14:14 GMT</lastBuildDate><pubDate>Thu, 23 Apr 2026 10:14:14 GMT</pubDate><ttl>60</ttl><item><title>C++菜鸟系列&lt;STL代码瞻仰记&gt; Chapter 1 STL config</title><link>http://www.cppblog.com/Peterfl/archive/2006/04/21/6024.html</link><dc:creator>PeterFelux</dc:creator><author>PeterFelux</author><pubDate>Fri, 21 Apr 2006 06:44:00 GMT</pubDate><guid>http://www.cppblog.com/Peterfl/archive/2006/04/21/6024.html</guid><wfw:comment>http://www.cppblog.com/Peterfl/comments/6024.html</wfw:comment><comments>http://www.cppblog.com/Peterfl/archive/2006/04/21/6024.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Peterfl/comments/commentRss/6024.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Peterfl/services/trackbacks/6024.html</trackback:ping><description><![CDATA[
		<font face="Tahoma">      STL源代码里面满山遍野都是宏，让我这个菜鸟感到有点无所适从了。在看过EFFECITVE STL中对vector容器的介绍以后，我感觉还是从某个容器下手开始学习STL源代码（我看的是SGI版的STL）。</font>
		<br />
		<font face="Tahoma">      打开&lt;vector&gt;这个标准头文件发现一堆#include</font>
		<br />
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<font face="Tahoma">
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</font>
				<font face="Tahoma">
						<span style="COLOR: #000000">#ifndef __SGI_STL_VECTOR<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
						<span style="COLOR: #0000ff">#define</span>
						<span style="COLOR: #000000"> __SGI_STL_VECTOR</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font face="Tahoma">
								<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </font>
				</span>
				<font face="Tahoma">
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">stl_range_errors.h</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font face="Tahoma">
								<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </font>
				</span>
				<font face="Tahoma">
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">stl_algobase.h</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font face="Tahoma">
								<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </font>
				</span>
				<font face="Tahoma">
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">stl_alloc.h</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font face="Tahoma">
								<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </font>
				</span>
				<font face="Tahoma">
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">stl_construct.h</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font face="Tahoma">
								<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </font>
				</span>
				<font face="Tahoma">
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">stl_uninitialized.h</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font face="Tahoma">
								<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </font>
				</span>
				<font face="Tahoma">
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">stl_vector.h</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font face="Tahoma">
								<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </font>
				</span>
				<font face="Tahoma">
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000">stl_bvector.h</span>
						<span style="COLOR: #000000">&gt;</span>
				</font>
				<span style="COLOR: #000000">
						<br />
						<font face="Tahoma">
								<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						</font>
				</span>
				<font face="Tahoma">
						<span style="COLOR: #0000ff">#endif</span>
						<span style="COLOR: #000000"> /* __SGI_STL_VECTOR */</span>
				</font>
		</div>       看来只能各个击破了。打开<font face="Tahoma"><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stl_range_errors.h</span><span style="COLOR: #000000">&gt;看看，发现只有一个头文件被包含#include &lt;stl_config.h&gt;。直觉告诉我，这个应该就是宏老大！打开文件stl_config.h，果然宏都在这里开会。还好SGI的大牛们还给了堆注释，不然早就崩溃了。<br />      从注释中我发现大部分宏是都是在对各种编译器作妥协。主要还是template技术太过前卫了，很多编译器都不认识它。<br /></span> </font><span style="COLOR: #000000"><br /></span><img src ="http://www.cppblog.com/Peterfl/aggbug/6024.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Peterfl/" target="_blank">PeterFelux</a> 2006-04-21 14:44 <a href="http://www.cppblog.com/Peterfl/archive/2006/04/21/6024.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开始学习图形学、计算几何、C++</title><link>http://www.cppblog.com/Peterfl/archive/2006/04/16/5658.html</link><dc:creator>PeterFelux</dc:creator><author>PeterFelux</author><pubDate>Sun, 16 Apr 2006 10:53:00 GMT</pubDate><guid>http://www.cppblog.com/Peterfl/archive/2006/04/16/5658.html</guid><wfw:comment>http://www.cppblog.com/Peterfl/comments/5658.html</wfw:comment><comments>http://www.cppblog.com/Peterfl/archive/2006/04/16/5658.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Peterfl/comments/commentRss/5658.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Peterfl/services/trackbacks/5658.html</trackback:ping><description><![CDATA[我的毕业设计题目是《基于OPENGL的三维模型测量系统》。名字很老土，功能也很差劲，毕竟是真正开始学习图形学了！<br /><br />这个系统计划做成三个模块。GUI、数据I/O、测量算法。GUI使用了BGCCONTROLBAR这个界面库。数据格式是XML，使用了VBSCRIPT脚本。测量有自动和交互两种。希望能顺利实现了！<br /><img src ="http://www.cppblog.com/Peterfl/aggbug/5658.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Peterfl/" target="_blank">PeterFelux</a> 2006-04-16 18:53 <a href="http://www.cppblog.com/Peterfl/archive/2006/04/16/5658.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>