Categories:
.NET (357)
C (330)
C++ (183)
CSS (84)
DBA (2)
General (7)
HTML (4)
Java (574)
JavaScript (106)
JSP (66)
Oracle (114)
Perl (46)
Perl (1)
PHP (1)
PL/SQL (1)
RSS (51)
Software QA (13)
SQL Server (1)
Windows (1)
XHTML (173)
Other Resources:
I can write C code that looks more like Pascal? ....
Here are some cute preprocessor macros:
#define begin {
#define end }
With these, I can write C code that looks more like Pascal. What do y'all think?
✍: Guest
Use of macros like these, though perhaps superficially attractive, is generally discouraged; in severe cases the practice is called ``preprocessor abuse.''
There is little to be gained in trying to redefine the syntax of a language to fit your own predilections, or to match some other language. Your predilections are unlikely to be shared by later readers or maintainers of the code, and any simulation of another language is most unlikely to be perfect (so any alleged convenience or utility will probably be outweighed by the nuisance of remembering the imperfections).
As a general rule, it's a good idea if the use of preprocessor macros follows the syntax of the C language. Macros without arguments should look like variables or other identifiers; macros with arguments should look like function calls. Ask yourself: ``If I somehow presented this code to the compiler without running it through the preprocessor, how many syntax errors would I get?'' (Of course, you'd get plenty of undefined symbols and non-constant array dimensions, but those aren't syntax errors.) This rule means that C code, plus macro invocations, still looks like C code. So-called nonsyntactic macros like begin and end or CTRL(D)
2016-02-24, 1703👍, 0💬
Popular Posts:
What is SMC approach of estimation?
Can you explain in GSC and VAF in function points? In GSC (General System Characteristic) there are ...
Can one execute dynamic SQL from Forms? Yes, use the FORMS_DDL built-in or call the DBMS_SQL databas...
What CLASSPATH Settings Are Needed to Run JUnit? It doesn't matter if you run your JUnit tests from ...
Can you prevent a class from overriding ? If you define a class as “Sealed” in C# and “NotInheritab...