⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 slm.html

📁 this is a mirrored site c-faq. thought might need offline
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN"><!-- This collection of hypertext pages is Copyright 1995-2005 by Steve Summit. --><!-- Content from the book "C Programming FAQs: Frequently Asked Questions" --><!-- (Addison-Wesley, 1995, ISBN 0-201-84519-9) is made available here by --><!-- permission of the author and the publisher as a service to the community. --><!-- It is intended to complement the use of the published text --><!-- and is protected by international copyright laws. --><!-- The on-line content may be accessed freely for personal use --><!-- but may not be published or retransmitted without explicit permission. --><!-- --><!-- this page built Sat Dec 24 21:47:46 2005 by faqproc version 2.7 --><!-- from source file cpp.sgml dated Wed Dec 21 13:52:14 2005 --><!-- corresponding to FAQ list version 4.0 --><html><!-- Mirrored from c-faq.com/cpp/slm.html by HTTrack Website Copier/3.x [XR&CO'2008], Sat, 14 Mar 2009 07:58:53 GMT --><head><meta name=GENERATOR content="faqproc"><title>Question 10.2</title><link href="safemacros.html" rev=precedes><link href="swapmacro.html" rel=precedes><link href="index.html" rev=subdocument></head><body bgcolor="#ffffff"><a href="safemacros.html" rev=precedes><img src="../images/buttonleft.gif" alt="prev"></a><a href="index.html" rev=subdocument><img src="../images/buttonup.gif" alt="up"></a><a href="swapmacro.html" rel=precedes><img src="../images/buttonright.gif" alt="next"></a>&nbsp;<a href="../index-2.html"><img src="../images/buttontop.gif" alt="top/contents"></a><a href="../search.html"><img src="../images/buttonsrch.gif" alt="search"></a><hr><p><!-- qbegin --><h1>comp.lang.c FAQ list<font color=blue>&middot;</font><!-- qtag -->Question 10.2</h1><p><font face=Helvetica size=8 color=blue><b>Q:</b></font>Here aresome cute preprocessor macros:<pre>	#define begin	{	#define end	}</pre>With these,I can write C code that looks more like Pascal.What do y'all think?</p><p><hr><p><font face=Helvetica size=8 color=blue><b>A:</b></font>Use of macros like these,though perhaps superficially attractive,is generally discouraged;in severe casesthe practice is called``preprocessor abuse.''</p><p>There is little to be gainedintrying to redefinethe syntax of a languageto fit your own predilections,orto match some other language.Your predilections are unlikely to be sharedby later readers or maintainers of the code,and any simulation of another languageis most unlikely to be perfect(so any alleged convenience or utilitywill probably be outweighedby the nuisance of remembering theimperfections).</p><p>As a general rule,it's a good ideaif the use ofpreprocessor macrosfollows the syntax of the C language.Macros without arguments should look like variables or otheridentifiers;macros with arguments should look like function calls.Ask yourself:``If I somehow presented this code to the compilerwithout running it through the preprocessor,how manysyntax errors would I get?''(Of course, you'd get plenty of undefinedsymbolsand non-constant array dimensions,but those aren't <em>syntax</em> errors.)This rule means that C code,plus macro invocations,still looks like C code.So-called nonsyntactic macroslike <TT>begin</TT> and <TT>end</TT>or <TT>CTRL(D)</TT>(see question <a href="charize.html">10.21</a>)can make C look likegobbledygook(see also question <a href="../misc/ioccc.html">20.36</a>).</p><p>This is of course largely a style issue;seealsosection<a href="../style/index.html">17</a>.</p><!-- aend --><p><hr><a href="safemacros.html" rev=precedes><img src="../images/buttonleft.gif" alt="prev"></a><a href="index.html" rev=subdocument><img src="../images/buttonup.gif" alt="up"></a><a href="swapmacro.html" rel=precedes><img src="../images/buttonright.gif" alt="next"></a>&nbsp;<a href="../questions.html"><img src="../images/buttontop.gif" alt="contents"></a><a href="../search.html"><img src="../images/buttonsrch.gif" alt="search"></a><br><!-- lastfooter --><a href="../about.html">about this FAQ list</a>&nbsp;<a href="../eskimo.html">about eskimo</a>&nbsp;<a href="../search.html">search</a>&nbsp;<a href="../feedback.html">feedback</a>&nbsp;<a href="copyright.html">copyright</a><p>Hosted by<a href="http://www.eskimo.com/"><img src="../../www.eskimo.com/img/link/eskitiny.gif" alt="Eskimo North"></a></body><!-- Mirrored from c-faq.com/cpp/slm.html by HTTrack Website Copier/3.x [XR&CO'2008], Sat, 14 Mar 2009 07:58:53 GMT --></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -