| Key | Factoid |
|
<reply> I can dig it!! |
| != |
logical xor |
| !really |
<reply> Dork: Do you really mean that? C++ regular: Yes, we do! |
| # |
<reply> Stringize/stringification, see <http://www.dis.com/gnu/cpp/Stringification.html>. |
| ## |
<reply> ##C++ is a topical channel. As per freenode policy, topical channels have two #-signs. Fun and sex are not allowed. Read more at http://freenode.net/policy.shtml#topicalchannels |
| ##C++-Projects |
<reply> ##C++-Projects is^H^H was... a great success. |
| ##c |
<reply> The channel for C programming questions is ##C with two octothorpes. Ask there for your pointer-specific troubles regarding anything that moves. |
| ##c++ |
<reply> ##C++ is a topical channel. As per freenode policy, topical channels have two #-signs. Fun and sex are not allowed. Read more at http://freenode.net/policy.shtml#topicalchannels |
| ##c++-social |
a great channel where many ##c++ regulars and non-regulars alike hang out and discuss things not directly related to C++, keeping ##c++ on topic. All are welcome to /join ##c++-social ! |
| ##iso-c++ |
the hardcore channel for when we must absolutely be ontopic. |
| #c |
<reply> The channel for C programming questions is ##C with two octothorpes. #C is invite only for some silly reason when it should instead redirect to the correct channel. |
| #include |
<reply>#include <abc.h> looks for abc.h in some implementation-defined place. If you use quotes instead of < and >, the compiler looks for abc.h in some other implementation-defined place and if it doesn't find it, does what #include <abc.h> does. It's common to use < and > for standard and system headers. |
| + |
<reply>Unary + is the intification operator. It intifies. |
| ++c |
<reply> ++C is never slower, and sometimes faster than C++ |
| ++i |
<reply> see http://www.parashift.com/c++-faq-lite/operator-overloading.html#faq-13.15 |
| -> |
<reply> p->m is equivalent to (*p).m, barring stupidity. |
| -O2 |
only -Osome; - it leaves out many potential optimizations. To really get a lot of optimizations on g++, you may have to use 'man g++' coupled with knowledge of your target architecture. |
| -Wall |
<reply> -Wall is only -Wsome; it leaves out many warnings. To really get a lot of warnings, you should use '-Wall -Wextra -ansi -pedantic' |
| ... |
<reply> ... stands for a variable length argument list. See !ggl va_list or !man va_start |
| .h |
<reply> Headers in the standard library don't end in .h. Declarations such as #include <iostream.h> are deprecated, use #include <iostream> instead. |
| .net |
a gTLD (generic top-level domain) originally reserved for network infrastructure but currently available for any purpose |
| 0 |
<reply> A constant expression with a value of 0 can be a null pointer constant. A null pointer constant can be converted to a null pointer value. A null pointer value has an implementation-defined bit pattern. |
| 0-1-oo |
The Zero-One-Infinity Rule. See http://c2.com/cgi/wiki?ZeroOneInfinityRule |
| 0x |
<reply> c++0x is an informal name for the upcoming revision of the ISO C++ Standard. The ISO C++ Committee is aiming for 2010. Overview of the upcoming features: http://www.youtube.com/watch?v=JffvCivHEHU or http://www.research.att.com/~bs/C++0xFAQ.html |
| 101 Signs |
<reply>http://www.codesqueeze.com/101-ways-to-know-your-software-project-is-doomed/ |
| 10x |
<reply>Athena Pheromone 10X(tm) contains human pheromones and is designed to increase romantic attention from women. |
| 14.6-2 |
<reply>14.6-2: A name used in a template declaration or definition and that is dependent on a template-parameter is assumed not to name a type unless the applicable name lookup finds a type name or the name is qualified by the keyword typename. |
| 14.7.3.7 |
<reply> c++-2003 humor: ... When writing a specialization, be careful about its location; or to make it compile will be such a trial as to kindle its self-immolation. |
| 14882 |
http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=38110&ICS1=35&ICS2=60&ICS3= |
| 1tbs |
the identation style to rule them all |
| 20 days |
http://abstrusegoose.com/249 |
| 21days |
<reply>How long it will take you to learn programming? 10 years. http://www.norvig.com/21-days.html |
| 2d array |
<reply> std::vector<std::vector<T> > matrix(rows, std::vector<T>(cols,initial_value)); |
| 2langs |
<reply> 'There are 2 kinds of languages: Those that people complain about and those that nobody uses.' ~ Bjarne Stroustrup |
| 3dvector |
<reply> Initializing a vector of vectors of vectors with value 42: vector<vector<vector<int> > > prism(3, vector<vector<int> >(5, vector<int>(7, 42))); |
| 3rs |
<reply> reinstall, reboot, and recompile |
| 3star |
http://c2.com/cgi/wiki?ThreeStarProgrammer |
| 42 |
the answer to the Ultimate Question on Life, the Universe and Everything. |
| 4f |
Fix first faults first |
| 4qs |
<reply> What do you want to do? How do you approach it? What do you expect? What do you see? |
| 6.6.3-2 |
<reply> A return statement without an expression can be used only in functions that do not return a value, that is, a function with the return type void, a constructor (12.1), or a destructor (12.4). A return statement with an expression of non-void type can be used only in functions returning a value; the value of the expression is returned to the caller of the function. The expression is implicitly converted to the return type of the function in which it appears. A return statement can involve the construction and copy of a temporary object (12.2). Flowing off the end of a function is equivalent to a return with no value; this results in undefined behavior in a value-returning function. |
| 6.6.3-2.5 |
<reply>Flowing off the end of a function is equivalent to a return with no value; this results in undefined behavior in a value-returning function. (see !6.6.3-2 for the full paragraph) |
| 640kB |
enough for everyone |
| 6p |
Proper Planning Prevents Piss Poor Performance |
| 7habits |
<reply> http://jcatki.no-ip.org:8080/fncpp/Seven_Habits_of_Highly_Defective_Developers |
| :) |
<reply>$nick: (: |
| :: |
<reply> C++ has an operator (::) called the scope resolution operator (named so because names can now be in different scopes: at global scope or within the scope of a struct). For example, if you want to specify initialize( ), which belongs to Stash, you say Stash::initialize(int size). |
| = |
assignment, not comparison. don't make this stupid mistake. |
| == |
logical xnor |
| === |
wtf |
| >> |
<reply> ISO 14882:2003 5.8.3 `The value of E1 >> E2 is E1 right-shifted E2 bit positions. If E1 has an unsigned type or if E1 has a signed type and a nonnegative value, the value of the result is the integral part of the quotient of E1 divided by the quantity 2 raised to the power E2. If E1 has a signed type and a negative value, the resulting value is implementation-defined.' |
| ?: |
a nifty operator inherited from C. cond ? res_true : res_false is res_true if and only if cond evaluates to true, res_false otherwise. It can be used in an expression to avoid unnecessary if blocks. res_true and res_false must have the same type |
| ADL |
<reply>Argument Dependent Lookup used to be referred to as Koenig lookup . http://en.wikipedia.org/wiki/Argument_dependent_name_lookup |
| ARM |
Annotated Reference Manual |
| Abt |
german for abbot , a title given to the head of a monastery in various traditions, including Christianity. |
| Achievement |
<reply> Achievement Exterminator Unlocked 10G |
| Alexandrescu |
<reply>Alexandrescu is even harder to spell than Stroustrup |
| Assignable |
<reply>"Assignable" is a concept of the C++ Standard Library. Among others, container elements are required to be Assignable. http://www.sgi.com/tech/stl/Assignable.html |
| Barton Nackman trick |
<reply> The Barton-Nackman-trick was invented to inject a non-member-function via an inline friend definition in a template class into the global scope. The technique was presented at a time when function-templates could not be overloaded. http://en.wikipedia.org/wiki/Barton-Nackman_trick |
| Bluhd |
<reply>Bluhd breaks things. |
| Boost.Bind |
<reply>Read about Boost.Bind at http://www.informit.com/articles/printerfriendly.asp?p=412354&rl=1 |
| Brainfuck |
http://www.muppetlabs.com/~breadbox/bf/ |
| C# |
the note one semi-tone above C |
| C++ Lands |
<reply> http://3.bp.blogspot.com/_VUQ3DQEhjsM/SiulAQFExOI/AAAAAAAAAXQ/UHIhgH4l-54/s1600-h/cpplands1.png |
| CHAR_BIT |
<reply>CHAR_BIT and std::numeric_limits<unsigned char>::digits represent the number of bits per byte/char. CHAR_BIT is a macro defined in climits. |
| CUZ |
the IATA code for Alejandro Velasco Astete International Airport, located in Cusco, a city in southeastern Peru. |
| Coding |
determining what I want precisely enough for the computer to understand me. |
| Cpp |
<reply> The C++ PreProcessor. Bjarne himself stated his desire to have it abolished, but that probably won't happen. Look at Boost.PP for awesome and creative uses of Cpp |
| D |
a vampire hunting programming language. |
| DAG |
Directed Acyclic Graph |
| Defaulted and Deleted Functions |
<reply> Defaulted and Deleted Functions are http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=353 http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=354 |
| EFNet it |
mostly off topic. |
| EOH |
<reply>End Of Help (also means you will most likely be ignored in the future) |
| Eiffel |
a tower in paris. |
| EntityReborn |
interesting |
| Estimation |
<reply> Estimation takes practice. It also takes labor. It takes so much labor it may be a good idea to estimate the time it will take to make the estimate, especially if you are asked to estimate something big. |
| Go |
an ancient Japanese board game, known for having an extreme depth of strategy despite its simple rules. |
| GoF |
<reply> Gang of Four. Referring to the authors of the book Design Patterns : Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. See !designpatterns |
| ICU |
the International Components for Unicode (http://icu.sourceforge.net) |
| IHBLRIA |
Invented Here, But Let's Reinvent It Anyway |
| IID |
<reply> Iterative and Incremental Development (IID) http://www.objectmentor.com/resources/articles/IIDI.pdf http://www.objectmentor.com/resources/articles/IIDII.pdf http://www.objectmentor.com/resources/articles/IIDIII.pdf |
| IRCnet, it |
usually quiet. |
| InvalidGrammarException |
<reply>terminate called after throwing an instance of 'std::invalid_grammar_exception'. what(): Ambiguous or invalid statement found. Please rephrase. |
| LED |
Lion's Eye Diamond, a Magic: the Gathering card that, despite making you discard your entire hand, is a fixture in many decks in the Legacy format. |
| LHC |
<reply>The Large Hard-on Collider will soon bring about the end of the world! |
| LIM |
a super hero and pancakes are his source of super strength |
| MS |
<reply>Multiple sclerosis is a debilitating autoimmune disorder that can lead to any and all neurological disorders, often leading to physical or mental disability. There is no known cure. |
| Managed C++ |
not C++/CLI. Managed C++ is old and ugly, C++/CLI is newer and a bit nicer. It is still non-standard though. |
| NIH |
Not Invented Here syndrome. See http://c2.com/cgi-bin/wiki?NotInventedHere and http://en.wikipedia.org/wiki/Not_Invented_Here |
| NRVO |
Named Return Value Optimization, The named local variable being returned by a function is made into a temporary, and, thanks to RVO, copying when returning a local variable is then totally avoided. |
| NTBS |
Null Terminated Byte String |
| NTMBS |
Null Terminated Multi Byte String |
| NVI |
non-virtual interface, a design pattern advocated by Herb Sutter, that involves making all public member functions non-virtual, and all virtual functions non-public (usually private, sometimes protected). It encourages de-coupling of interface from implementation. |
| OBP |
Object-Based Programming, the idea of encapsulating state and operations inside objects. It doesn't contain inheritance and subtyping which are part of OOP. |
| On Iteration |
Andrei Alexandrescu's proposal for a simpler and safer iteration abstraction than STL-style iterators: http://www.informit.com/articles/printerfriendly.aspx?p=1407357 |
| Oort |
dead! :O |
| Open Source Licensing |
<reply> Open Source Licensing: Software Freedom and Intellectual Property Law by Lawrence Rosen. See http://www.rosenlaw.com/oslbook.htm or !books 0131487876 |
| Operator-function-id |
<reply> The keyword operator followed by the symbol for an operator— for example, operator new and operator I can dig it!! . Many operators have alternative representations. For example, operator & can equivalently be written as operator bitand even when it denotes the unary address of operator. |
| POI |
<reply> A point of instantiation (POI) is created when a code construct refers to a template specialization in such a way that the definition of the corresponding template needs to be instantiated to create that specialization. The POI is a point in the source where the substituted template could be inserted. |
| Python |
the common name for the Boidae family of nonvenomous constricting snakes - specifically the subfamily Pythonidae. |
| RAD |
Rapid Application Development, the silver bullet. |
| SCSI |
<reply> SCSI is not IDE. In fact, most SCSI things don't even support gcc. |
| SYN |
<reply> ACK |
| Scott Meyers |
http://www.ddj.com/cpp/215900307 |
| Singleton |
<reply>In most cases singletons should be avoided, they often make non-trivial programs clunky and difficult to maintain. If you really are considering using a singleton, you should first read http://www.ibm.com/developerworks/library/co-single.html and http://www.ddj.com/cpp/184401625 before doing so to ensure using a singleton is absolutely, positively necessary. |
| So |
<reply> stackoverflow.com is a free collaborative question <-> answer forum and poll platform http://stackoverflow.com/ |
| Spagheterize |
the process of creating spaghetti code out of a perfectly clean codebase. |
| Stringification |
http://www.dis.com/gnu/cpp/Stringification.html |
| T(x) |
<reply>T(x) is equivalent to (T)x, which means it's fraught with danger (see !c-style cast). When T is a built-in type, prefer static_cast<T>(x) or better yet, boost::implicit_cast<T>(x). |
| TU |
<reply>A source file together with all included headers and included source files, less any source lines skipped by preprocessor conditionals, is called a translation unit, or TU. TUs can be separately translated and then later linked to produce an executable program. |
| UAC |
<reply> The usual arithmetical conversions figure out a common result type for the operands of a binary operator |
| USD |
such a low value :) |
| Waterfall |
<reply> According to Waterfall Model, the software can be completely analyzed before it is designed, completely designed before it is coded, and completely coded before it is tested. |
| WinRef |
<reply> http://msdn2.microsoft.com/en-US/library/aa383749.aspx |
| YAGNI |
You aren't gonna need it |
| Your momma |
fat. |
| Zen of Pointers |
found at http://www.chips.navy.mil/archives/98_jul/c_art17.htm |
| _mfc |
<reply>MFC is the Manulife Financial Corporation, an insurance and financial services provider company. |
| _sed |
<reply> sed, or Stream EDitor, is more or less a non-interactive text editor. Written by Lee E. McMahon, the program parses an input stream, modifying the stream in a specific way, depending on the command(s) supplied. If you see commands like s/this/that/ in the channel, know that someone is using sed-like syntax to correct their written mistake. http://www.grymoire.com/Unix/Sed.html |
| a code |
<reply>'code', as in 'source code' is not a countable noun. Thus, 'a code' is incorrect. |
| abc |
<reply> ABC means abstract base class |
| abi |
Application Binary Interface |
| abouterror |
<reply> http://adrinael.net/aboutchannel.png |
| accidentally |
<reply> Error: I accidentally the whole command. |
| ace |
<reply>The Adaptive Communication Environment is a freely available, open-source object-oriented (OO) framework that implements many core patterns for concurrent communication software designed by Douglas C. !Schmidt. |
| acronym |
<reply> Acronyms, according to wikipedia, ...are abbreviations that are formed using the initial components in a phrase or name. |
| ada |
a woman's name |
| adlib |
<reply> Ad-libbing is trying to use a library without bothering to read its documentation thoroughly (see also !guessing). Find the documentation for that library and read it. Also realize that we probably will not help you with libraries not connected to the standard C++. |
| adrinael |
not a valid paper |
| adrinael2 |
<reply>According to common lore, an Adrinael is slightly intimidating but can be quite docile once given tea. |
| ads |
<reply>Attention deficit syndrome used to be referred to as Hyperactivity Syndrome . http://en.wikipedia.org/wiki/Attention_Deficit_Syndrome |
| advertising |
<reply>A fast and easy way to gain publicity for your game is having all your testers commit suicide. |
| afaik |
As Far As I Know |
| afro |
<reply> http://adrinael.net/itsokay.jpg |
| aggregate |
an array or a class with no user-declared constructors, no private or protected non-static data members, no base classes, and no virtual functions. |
| agile |
<reply> http://www.objectmentor.com/resources/articles/agileProcess.pdf |
| aima |
<reply>http://aima.cs.berkeley.edu/ Artificial Intelligence: A Modern Approach (Second Edition) by Stuart Russell and Peter Norvig |
| aliasing |
<reply> Aliasing violations mean you're lying to the optimizer, which is a great way to break your program. See http://mail-index.netbsd.org/tech-kern/2003/08/11/0001.html and http://www.cellperformance.com/mike_acton/2006/06/understanding_strict_aliasing.html |
| aliasing impact |
<reply> Impact of ANSI C/C++ Aliasing Rules on Real-World Applications Performance, from Intel: http://www.ice.gelato.org/oct07/pres_pdf/gelato_ICE07oct_aliasing_isaev_intel.pdf |
| alis |
a freenode service bot designed to help find channels on freenode instead of asking in other channels that aren't meant to be your gateway into freenode (like ##c++). /msg alis help list to get started. |
| allergy |
<reply>This channel is allergic to `using namespace std;' (see !using namespace). While its presence is almost certainly not the reason your code doesn't work, it is considered very bad style and you will be constantly heckled for using it. |
| allinegrab |
<reply>By your command. |
| allocation symmetry |
<reply> The syntax of the delete-expression must match the type of the object allocated by new, not the syntax of the new-expression. ISO/IEC 14882 5.3.5 p 2 |
| allright |
<reply> If you have done it all right, then its a compiler bug ! |
| amirite |
<reply>urite |
| analogliterals |
<reply>A demonstration of the expressive power of operator overloading can be found at http://www.xs4all.nl/~weegen/eelis/analogliterals.xhtml |
| annotation |
<reply>annotation is useless. You have an error, which means you made a mistake. You are making the same mistake when annotating your problem, hence making it unpossimateable for us to tell what's really wrong. Present real code and error messages, copy&paste it (to http://codepad.org). See !testcase for the best way. |
| anonymous namespace |
<reply>An anonymous namespace is one with no name. It is assigned a unique name and automatically imported into the surrounding namespace, thus restricting use of the names within to one TU (see !TU) |
| another layer |
<reply>Any Problem in Computer Science Can Be Solved with Enough Layers of Indirection |
| another macro |
<reply>Any Problem in C Can Be Solved with Enough Layers of Macros |
| anotherbug |
<reply> Lubarski's Ironclad Rule of Cybernetic Entomology: There's always one more bug. |
| ansi |
<reply> the C++ std as a pdf is $18 from http://webstore.ansi.org/ansidocstore/product.asp?sku=INCITS%2FISO%2FIEC+14882%2D2003 (see also !std and !ref) |
| answer |
<reply> The answer is 42. |
| ant |
<reply>A system independent (i.e. not shell based) build tool that uses XML files as Makefiles . http://ant.apache.org/index.html |
| anthonyg |
<reply> |
| antibook |
<reply> The mother of all anti-books is available at this address (do _NOT_ follow any examples): http://www.4p8.com/eric.brasseur/cppcen.html |
| anyop |
<reply> Adrinael, ville, vulture, wcstok, woggle, __d, phe, Erwin, rpete, sdt, orbitz and LIM are ops here |
| aolism |
<reply>Using AOLisms such as 'u', 'ur', 'dmb', 'l8r', 'r', 'thx', 'cuz', 'n8', 'ppl', '@ll', 'any1' etc. tells us that you are lazy, inarticulate and/or want to look like that. |
| aolisms |
<reply> Using AOLisms such as 'u', 'ur', 'dmb', 'l8r', 'r', 'thx', 'cuz', 'n8', 'ppl', '@ll', 'any1' etc. tells us that you are lazy, inarticulate and/or want to look like that. |
| apache |
<reply>http://stdcxx.apache.org/doc/stdlibref/noframes.html |
| apostrophe |
<reply> http://www.voidspace.org.uk/gallery/silly/bob%27s_guide_to_the_apostrophe.jpg |
| apparmor |
a noob version of selinux |
| approach |
<reply> Your entire approach is wrong. You're using the wrong tools for the job. Go get a hammer. Even if you don't know how to use a hammer, it is time to obtain one and learn it. |
| approp |
<reply>The assertion "I expect there to be people who know the answer to my question, therefore it is appropriate for me to ask it." is invalid. The criterion for appropriateness of questions is whether or not they are on-topic, not whether or not it is likely there are people who know the answer. |
| archinfo |
<reply> http://www.agner.org/optimize/calling_conventions.pdf |
| are you a bot |
<reply> my mother was. |
| argument |
<reply>Never argue with an idiot. They'll drag you down the their level and beat you with experience. |
| argv |
<reply>./your_binary argument1 argument2 argument3 argument4 => argc == 5 argv[0] == "./your_binary" argv[1] == "argument1" argv[2] == "argument2" argv[3] == "argument3" argv[4] == "argument4" argv[5] == 0 |
| argvector |
<reply>std::vector<string> args(argv, argv+argc); |
| array_nonarray |
<reply> If you want to overload a template for arrays and for pointers, then you cannot overload on T(&)[N] and T* , because both have an equally good match. Overload on T(&)[N] and T * const& instead, to avoid the array-to-pointer conversion from happening during argument deduction. |
| array_size_nomacro |
<reply> template<typename T, size_t N> typename identity<char[N]>::type &an_array(T const(&)[N]); /* usage: */ int main() { string a[5]; bool is_empty[sizeof(an_array(a))] = { false }; cout << is_empty; } |
| array_size_static |
<reply>template<typename T, size_t N> const char (&non_array_passed_to_ARRAY_SIZE(const T(&)[N]))[N]; \ #define ARRAY_SIZE(x) (sizeof(non_array_passed_to_ARRAY_SIZE((x)))) |
| arraysize |
<reply> Don't use sizeof to get the size of an array. If your array is actually a pointer, it gives you wrong values at runtime. The following code instead gives a compile error on such a bug: template <typename T, size_t N> size_t array_size(T (&)[N]) { return N; } template <typename T, size_t N> size_t array_size_in_bytes(T (&)[N]) { return sizeof(T[N]); } |
| asio |
<reply> Boost.Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. http://boost.org/libs/asio |
| ask |
<reply> We always welcome interesting questions about C++, you don't need to ask if you can ask them. Additionally, if you wish to avoid being made fun of, read http://jcatki.no-ip.org:8080/fncpp/HowToGetBetterHelp and http://www.catb.org/~esr/faqs/smart-questions.html |
| ask protocol |
<reply> The ask to ask protocol is twice as inefficient as the ask protocol. |
| asl |
<reply> American Sign Language is the language used by deaf people living in the United States and in Canada. |
| attack |
<action> quickly hands out pancakes to everyone |
| attention |
<reply> Even if someone is cluttering up the channel, you do not have to clutter it up with them; /ignore exists for a reason. (Ops obviously may ignore this factoid.) |
| austern |
<reply> Generic Programming and the STL: Using and Extending the C++ Standard Template Library, ISBN: 0201309564, http://www.amazon.com/gp/product/0201309564 |
| autobook |
http://sources.redhat.com/autobook/ |
| autotools |
<reply> Ask your autotools questions in ##workingset. They are off-topic for ##C++ and even if ##workingset seems inactive it's no excuse to ask them here. |
| avoid |
<reply> There are strategies to avoid [this], but unfortunately none of the popular languages provide direct support, so it feels hacky. And it is. But just say they're design patterns and you won't feel so bad about it. ~ http://damienkatz.net/2006/04/error_code_vs_e.html |
| away |
<reply> We really do not care whether you are at your computer or not. That means you shall not switch nicks or indicate your status in any other way or form in the channel. |
| awesome |
<reply> <lollan> this channel is awesome ! (Said by: lollan!n=lollan@nan92-1-81-57-214-236.fbx.proxad.net; grabbed by nept!n=chatzill@77-57-193-61.dclient.hispeed.ch at 01:13 AM, February 20, 2009) |
| awesome lambdas |
<reply>geordi, { vector<int> v; int i = 10; v.reserve(i); generate_n(back_inserter(v), i, [i] () mutable { return --i; }); cout << v;} |
| awful |
reply http://video.google.com/videoplay?docid=-7038656109656489183 |
| b |
<reply>/b/ is for tards |
| b/c |
a bra cup size, and a good one at that. |
| babbage |
On two occasions I have been asked,—"Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?" … I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question. |
| back |
<reply>C++ is not a perfect language. You will almost certainly find some language you like better, be it Haskell, Perl, some variant of Lisp, plain C, Python, or something else. But then someday, you will try to do everything in that language. And you will be back. |
| badbook |
<reply>Any book with 'idiots', 'dummies', 'minutes', 'hours', 'days', or the name of a specific compiler or product in its title is a bad book. Also, any book which has "#include <iostream.h>" (as opposed to "#include <iostream>") in the beginning chapters is a bad book. |
| badbooks |
<reply> Any book with 'idiots', 'dummies', 'minutes', 'hours', 'days', or the name of a specific compiler or product in its title is a bad book. Also, any book which has #include <iostream.h> in the beginning chapters is a bad book. |
| badcomment |
<reply> int getFoo() { return foo; } /* return the current value of 'foo'; preconditions: (none); postconditions: value of foo on exit is equal to value of foo on entry */ |
| badcourse |
<reply>A course that only allows you to use a subset of C++ is a bad course. If that restriction is lifted later on it is still a bad course, because it punishes you for going ahead of class. |
| ban |
what you are going to get if you don't stop messing with the bots. |
| banned |
<reply>You're cast out, you're banished! http://whotookspaz.org/randomflash/skeletowned.swf |
| bar |
<reply> Etymology of Foo : http://www.faqs.org/rfcs/rfc3092.html |
| bases |
http://www.emu8086.com/assembly_language_tutorial_assembler_reference/numbering_systems_tutorial.html or- http://mathforum.org/dr.math/faq/faq.bases.html |
| basic |
<reply> Your question is considered to be in the scope of the fundamental basics of the language, build processes, RTFM, and/or googling. As the usual channel members don't have enough resources to answer your question, please try asking in ##c++-basic as they are willing to help with those kind of questions. Thanks. |
| bcc32 |
the borland c++ compiler. |
| bcp |
a tool for stealing code from Boost to bundle with your projects: http://www.boost.org/tools/bcp/bcp.html |
| bcz |
the ISO 639-3 language code for Bainouk-Gunyaamolo, a language of Senegal. |
| be useful |
<action> takes out the trash... |
| beard |
<reply>If your C++ class isn't being taught by someone with a great flowing and unkempt beard, get out. Fast. |
| beardatrice |
<reply> I have spawned 1030 threads; 1 thread is still currently active: MainThread. Also jotham sucks cock. |
| beautiful |
<reply> Make your code beautiful! http://couponmeister.com/beautify.aspx |
| becker |
<reply> The C++ Standard Library Extensions: A Tutorial and Reference by Pete Becker, ISBN 0321412990. |
| beej |
<reply> Network Programming: http://beej.us/guide/bgnet/ | Interprocess Communication: http://beej.us/guide/ipc/ |
| beejipc |
Beej's Guide to UNIX IPC: http://www.ecst.csuchico.edu/~beej/guide/ipc/ |
| begin |
<reply> template <typename C> typename C::iterator begin(C &c) { return c.begin(); } template <typename T, size_t N> T *begin(T (&a)[N]) { return a; } |
| beginner |
Welcome to the exciting world of C++, Its tough but fun and useful. try here first: http://jcatki.no-ip.org:8080/fncpp/Resources#books http://rudbek.com/books.html |
| bigpicture |
<reply> you could be doing your whole program completely bass ackwards, and if thats the case, fixing one function or file wont do a damned thing. tell/show us the bigger picture and we'll gladly help. if you're pasting, use rafb.net/paste |
| binaryfile |
<reply> Opening a file in binary mode has nothing to do with the actual reading/writing process. Opening in binary mode only makes it so that newlines are not translated and EOF characters in the file don't end the file. Use std::istream::read and std::ostream::write for binary read/write, respectively. |
| bind |
http://boost.org/libs/bind/bind.html#operators |
| binky |
a fun 3 minute video that explains the basics features of pointers and memory. http://cslibrary.stanford.edu/104/ |
| bisection |
the rescue for debugging. Write a simple program that WORKS, call it version A. Then take the complex program B that does not work, and try versions in between from A..B ("binary search") untill you pin down the bug. |
| bit twiddling |
<reply> Bit Twiddling Hacks by Sean Eron Anderson. http://graphics.stanford.edu/~seander/bithacks.html |
| bithacks |
<reply>http://graphics.stanford.edu/~seander/bithacks.html |
| bitwise |
<reply> Get bit-wise at <http://www.vipan.com/htdocs/bitwisehelp.html>. |
| bjarne |
<reply> Bjarne Stroustrup (Danish), the designer of standard C++ (ISO/IEC 14882) and the maintainer of a nice C++ FAQ page. http://www.research.att.com/~bs/ |
| blank |
worth two spaces. |
| blitzpp |
Blitz++ Home Page: http://oonumerics.org/blitz/ - a speedy numeric library |
| bogosort |
<reply>Bogosort is the archetypical perversely awful algorithm. It works by shuffling the elements and checking whether they are in order. It has an average running time of O(n!), but can theoretically take forever (or, if you are lucky, only n comparisons). See !bogosortimpl |
| bogosortimpl |
<reply>template <typename I> void bogosort(I b, I e, int n = 0) { random_shuffle(b, e); if (is_sorted(b, e)) {cout<<n<<':'<<' '; return;} bogosort(b, e, n+1); } int main() { srand(time(NULL)); vector<int> v; v += 2,3,1,5,4; bogosort(v.begin(), v.end()); cout << v;} |
| bones |
<reply> I'm a doctor, not an IRC bot! |
| book |
<reply>http://jcatki.no-ip.org:8080/fncpp/Resources#books |
| bookobject |
<reply>If you unfold this book object, you'll find pieces of dead tree filled with letters, bearing a striking resemblance to online tutorials, except that they make more sense. |
| bookstore |
<reply> your neighbourhood bookstore would love to explain that to you |
| bool |
<reply> There are 2 boolean states: true and false. To have an additional `indeterminate' state you can use the boost.tribool library. The standard C++ bool type only supports true and false. |
| boolint |
<reply> standard C++, 4.7.4 Integral conversions: If the source type is bool, the value false is converted to zero and the value true is converted to one. |
| booost |
<action>activates turbo boost |
| boost |
<reply> http://www.boost.org/ - A collection of portable libraries. Mostly header-only, some libs need a lib file to be linked with. For directions how to get them for Windows, see !prebuilt boost |
| boost bloat |
<reply> <ville> yes the implementation you find from boost usually contains unnecessary crap just to bloat things up - compared to you writing it all your self. It's true. |
| boost faq |
<reply>Yes! Boost will do that. |
| boost libs |
<reply> http://www.boost.org/doc/libs |
| borland |
<reply>I don't want C++ to be rescued and subsequently eaten by Borland, like Pascal. ~ Bjarne Stroustrup |
| bot policy |
<reply> 1) Do not collide with other bots' trigger characters 2) Ignore other bots' output 3) Have a useful function 4) Ask the ops beforehand. All conditions must be met. |
| botabuse |
<reply>Stop abusing my facilities, or I may just start to ignore you. Try playing around in a private message instead. |
| botcmd |
<reply>I can't answer that with a bot command, could you rephrase it, please? |
| bots |
<reply> nolyc, Oort, RePaste, geordi and laforge are bots here. |
| botsnack |
<reply> Aw, thanks, $nick! |
| bottest |
<reply> Testing a bot? You have two options: 1) see !bot policy 2) /join #bottest and fire away |
| bounce |
<action> bounces 'round the channel. |
| brb |
Butler Rogers Baskett, an architecture and interior design firm with offices in New York City and South Norwalk, Connecticut. |
| breadbox |
<reply>I have this breadbox that doesn't open, I left it at home, here's another breadbox just like the one I have, except this one opens. What's wrong with mine? |
| breymann |
<reply> Designing Components with the C++ STL, a decent book which covers a few algorithms using C++ containers. Also freely downloadable in pdf form at http://www.informatik.hs-bremen.de/~brey/stlbe.html |
| bsl |
<reply>Bangkok Soccer League (BSL) is a voluntary organisation that runs a youth football club in Bangkok, Thailand. |
| bunnywithapancake |
http://www.kevindustries.com/media/kw/files/bunny-pancake.jpg |
| buttsecks |
<reply>There is no buttsex allowed in ##C++. However, it may be tolerated in ##C++-social. |
| buyit |
<reply>Don't pirate the standard; buy the PDF version from the ISO website. (And make sure it has the checksum 99ef5807a860d1ae879c40fbb6fb58e892808a8f ). |
| buystandard |
<reply> http://www.techstreet.com/cgi-bin/detail?product_id=1143945 |
| buzz |
<reply> Warning: High levels of buzz. Proceed with caution! |
| buzzword |
<reply> Warning: High levels of buzz. Proceed with caution! |
| c |
an old byte processing language without templates, exceptions, namespaces, constructors/destructors (and therefore RAII), virtual function polymorphism, references, operator/function overloading, reusable standard generic containers, or explicitly named casts. |
| c code |
<reply> Putatively 'C++' code that is essentially C code is usually bad C++ code, and not of interest to this channel. |
| c incompatibilities |
<reply> See: http://www.research.att.com/~bs/3rd_compat.pdf , http://david.tribble.com/text/cdiffs.htm and appendix C in the C++ standard |
| c questions |
<reply> Questions about code syntactically valid in both C++ and C are usually better asked in ##C |
| c++ |
<reply>In addition to the facilities provided by C, C++ provides additional data types, classes, templates, exceptions, namespaces, inline functions, operator overloading, function name overloading, references, free store management operators, and additional library facilities. |
| c++ etymology |
<reply> http://cpp.comsci.us/etymology/index.html |
| c++-social |
a less strict ##c++ channel where nerds come to cry sometimes |
| c++/c |
<reply> I take most uses of the compound C/C++ as an indication of ignorance. ~ Bjarne Stroustrup - See also http://www.research.att.com/~bs/bs_faq.html#C-slash |
| c++0x |
an informal name for the upcoming revision of the ISO C++ Standard. Overview of the upcoming features: http://www.youtube.com/watch?v=JffvCivHEHU or http://www.research.att.com/~bs/C++0xFAQ.html |
| c++0x support |
http://wiki.apache.org/stdcxx/C++0xCompilerSupport |
| c++abi |
<reply>http://www.codesourcery.com/cxx-abi/abi.html This document, despite its name, is valid for a number of platforms. Nevertheless, it should not be relied on when trying to write truly platform-independent programs. |
| c++draft |
at: http://www.kuzbass.ru:8086/docs/isocpp/ |
| c++faqlite |
http://www.parashift.com/c++-faq-lite/ |
| c++rocks |
<reply> Treat a new C++ feature like you would treat a loaded automatic weapon in a crowded room: never use it just because it looks nifty. Wait until you understand the consequences, don't get cute, write what you know, and know what you write. -- Herb Sutter |
| c++sc |
<reply> The C++ Standards Committee : http://www.open-std.org/JTC1/SC22/WG21/ |
| c-faq |
<reply>The comp.lang.c FAQ explains many of the complex parts of C, which were inherited by C++. Read it at http://c-faq.com/ |
| c-linkage |
<reply>http://tinyurl.com/yfno2qt describes how to expose a C++ interface to C. To go the other way around, do the opposite - make a C++ class that calls all the appropriate C functions. |
| c-style cast |
<reply> The semantics for a cast-expression (aka a 'C-Style Cast') are defined as the first of these that succeeds: const_cast, static_cast, static_cast followed by const_cast, reinterpret_cast, reinterpret_cast followed by const_cast. See 5.4 [expr.cast] for more details. |
| c/c++ |
<reply> I take most uses of the compound C/C++ as an indication of ignorance. ~ Bjarne Stroustrup - See also http://www.research.att.com/~bs/bs_faq.html#C-slash |
| c/cpp |
<reply>I take most uses of the compound C/C++ as an indication of ignorance. ~ Bjarne Stroustrup - See also http://www.research.att.com/~bs/bs_faq.html#C-slash |
| c10k |
http://www.kegel.com/c10k.html |
| c99 |
<reply>Case study on the differences in between the latest C standard and C++98: http://david.tribble.com/text/cdiffs.htm |
| c_str |
<reply>A C string (char const *) representation of a C++ string (std::string) can be obtained by calling the c_str() member function of the C++ string: std::string cpp = "Hello world!"; char const * c = cpp.c_str(); |
| cake |
<reply> The cake is a lie. Try !pancakes |
| can you |
<reply> No, we can't |
| can you dig it |
<reply> I can dig it! |
| caps |
<reply>http://pics.nase-bohren.de/capslock.jpg |
| capstrainer |
http://blog.makezine.com/CAPS_LOCK_TRAINER_KEY.jpg |
| captain |
http://www.newgrounds.com/collections/captainlowrez.html (see also !blastopod) |
| captain obvious |
<reply> http://adrinael.net/(captain_obvious|obvious|obvious2) |
| care |
<reply>http://farm1.static.flickr.com/85/241602620_1449320bf4.jpg |
| careometer |
<reply> http://tinyurl.com/msf6r |
| carray |
<reply> 'Reading into an array without making a silly error is beyond the ability of complete novices - by the time you get that right, you are no longer a complete novice.' ~ Bjarne Stroustrup |
| caseless-string-compare |
<reply>In Greek, converting either σ or ς to uppercase yields Σ, while converting Σ to lowercase yields σ. Consequently, the convert-all-to-uppercase approach to case-insensitive comparison produces a false positive when comparing σ to ς, and the convert-all-to-lowercase approach produces a false negative when comparing Σ to ς. |
| cast |
<reply> Avoid casts when possible. If you really need to cast, use C++-style casts instead of C-style casts. See http://www.acm.org/crossroads/xrds3-1/ovp3-1.html |
| cast_dammit_cast |
<reply> template <typename T, typename T2> T cast_dammit_cast(T2 what){ return *((T*) &what); } |
| catch |
<reply> You still lose. Real hard. |
| cba |
<reply> Couldn't be arsed. |
| cbbsd |
http://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_FreeBSD |
| cbnightly |
<reply> Get nightly SVN builds of Code::Blocks from http://forums.codeblocks.org/index.php?board=20.0 |
| cbook |
<reply> <Adrinael> Accelerated C++ teaches you to code C++ using C++. Other beginner's books teach you to code C using C++. |
| ccast |
<reply>The semantics for a cast-expression (aka a 'C-Style Cast') are defined as the first of these that succeeds: const_cast, static_cast, static_cast followed by const_cast, reinterpret_cast, reinterpret_cast followed by const_cast. Access control is ignored. See 5.4 [expr.cast] for more details. |
| ccompat |
<reply>C++ is *not* a superset of C. See http://www.open-std.org/jtc1/sc22/open/n2356/diff.html#diff.iso for an exhaustive list of differences. |
| cdiff |
<reply> The differences between C90 and C++ are additional data types, classes, templates, exceptions, namespaces, inline functions, operator over-loading, function name overloading, references, free store management operators and additional library facilities (not literally from section 1.1.2 ISO/IEC 14882:2003) |
| cfg |
(contraption|context|contract|code)-(frickin|free|ferocious|fabulous) grammar |
| chans |
<reply> If you want more C++ and less off topic go to ##iso-c++ . If you want more chatter and less C++ go to ##c++-social . If you want to be told you're off topic stay in ##c++ . If you don't want to be told to rtfm go to ##c++-projects . If you hate this factoid go to ##c++-antisocial . |
| chanstats |
http://cpp.irclogs.space-lab.us/stats/ |
| char |
<reply> char is always one byte: http://www.parashift.com/c++-faq-lite/intrinsic-types.html#faq-26.6 |
| char* |
<reply>char* is a pointer to a char. Assigning a string literal to a char* is deprecated in C++. See ISO 14882:2003 Annex C Subclause _lex.string. Use char const* to point at the first character of a string literal. Use std::string::c_str() to get a char const* to a c string from std::string. For very old C functions that accept char* and promise not to alter the string, you may use const_cast. |
| checklist |
<reply> Common Careless Mistakes:1) Forgetting std:: .2) Forgetting a ';' after a struct or class definition.3) Forgetting to specify the type when using templates.4) Forgetting to include a header.5) Forgetting to link a library.6)Giving two variables the same name. |
| chocolate |
<reply>Sorry, it seems I'm fresh out. |
| circular |
<reply>see !circular |
| circular dependency |
<reply> http://jcatki.no-ip.org:8080/fncpp/CircularDependency and http://www.parashift.com/c++-faq-lite/misc-technical-issues.html#faq-39.11 |
| circular dependency old |
<reply> If class A uses class B and class B uses class A, you need to forward declare class A or class B (or even both) as well as implement your classes in their source file(s) instead of their header file(s). However, if class A contains a member of type B, and class B contains a member of type A, you must use pointers or references to A and B in either B or A (or both) instead. |
| circular reasoning |
<reply> Your logic is self-justifying. This is a BadThing(tm). http://komplexify.com/math/images/CircularReasoning.gif |
| cish |
<reply> Your code might be valid C++, but it encourages a view to the things that comes from the C World (C-ish). We here think more in terms of C++ (this is standard library containers, new etc., in short: C++-ish). So you will get more likely a C-ish answer to your question when asking in ##C. |
| citation needed |
<reply>http://imgs.xkcd.com/comics/wikipedian_protester.png |
| clang |
an up-and-coming open-source compiler for the Low-Level Virtual Machine, which is under development. Coders are encouraged to help out. http://clang.llvm.org/. C++ support at http://clang.llvm.org/cxx_status.html. |
| clarify |
<reply> Please clarify your previous statement/question. |
| class |
the same as struct in C++, except it defaults to private access and inheritance. See http://www.parashift.com/c++-faq-lite/classes-and-objects.html#faq-7.8 |
| class member initializer |
http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=427 |
| class-declaration |
<reply> A class declaration introduces just a class name: class name; What some call class-declaration often is also a definition: class name { ... }; prefer to say class definition in that case, to make clear what you mean |
| classes_that_work |
<reply> http://stlab.adobe.com/wiki/images/8/85/2008_06_26_classes_that_work.pdf |
| cloog |
the Chunky Loop Generator . A library for generating code that scans Z-polyhedra. |
| closingwindow |
<reply> If you compiled a program and it closed immediately when you ran it, it's not the compiler's fault -- that's the exact behaviour of the program. (Usually: Output something and then exit immediately -- thus closing the window). You'll want to pause your program a bit so you can read the result; asking for input is a decent way to do this. Try adding cin.get(); at the point where you want to pause. |
| closure |
<reply> Save the environment! Create a closure today! ~ Cormac Flanagan |
| clown |
<reply> send in the... clown? You only want one? |
| clowns |
<action> sends in the clowns. |
| clue |
<reply> Hint! When you pick up 'tea', 'no tea' will be dropped from your inventory. But you can then pick up 'no tea' again. |
| cluebat |
<reply> http://www.intternetti.net/~jiri/motivation/rpg/cluebat.jpg |
| cobol |
<reply>"Hey, [the compiler] could choose to allow inline COBOL if some kooky compiler writer was willing to implement that extension, maybe after a few too many Tequilas." -- Herb Sutter |
| code::blocks |
an open source, cross platform, free C++ IDE. While you can download the release, it is suggested that you use a current nightly build: http://codeblocks.org/ . Code::Blocks is offtopic here. #codeblocks exists and is small, but this is still not the place to ask. |
| codepad |
<reply> http://codepad.org - put code there, and paste the resulting link here |
| codes |
<reply>`code' as in `source code' is a mass noun, and as such has no plural form. |
| colour |
<reply> You should use ncurses to print out colours and do any other form of screen manipulation. Alternativly you can use the ANSI escape sequence codes yourself see: http://jcatki.no-ip.org:8080/fncpp/Ansi_codes |
| command |
<reply> C++ has absolutely no notion of commands. Don't use this word when describing C++ code. Ever. Any other use, however, is legal. |
| comments |
<reply> Real commenting is comments that explain an algorithm, point out pitfalls and special cases and document desired input and possible output. That is it. |
| comparator |
<reply> struct comparator { bool operator ()( T const& l, T const& r ) const; }; /* where T is an imaginary type being compared */ |
| comparing floats |
<reply> http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm |
| compatibility headers |
<reply> C90 compatibility headers: cassert, cctype, cerrno, cfloat, ciso646, climits, clocale, cmath, csetjmp, csignal, cstdarg, cstddef, cstdio, cstdlib, cstring, ctime, cwchar and cwctype. The use of their .h counterparts is deprecated. |
| compile |
<reply>This channel is about C++ itself, not about how to compile programs or libraries (that may happen to have been written in C++) using specific compilers on specific platforms. For that, read your compiler and platform manuals, and the installation instructions for the program or library you're trying to compile. |
| compiler |
<reply>##C++ is *NOT* your personal C++ compiler in humanoid form. Geordi is. See !geordi |
| compiles |
<reply> It compiles?! SHIP IT!! |
| complex |
<reply> For every complex problem there is an answer that is clear, simple, and wrong. ~ H. L. Mencken |
| complicated |
http://www.velocityreviews.com/forums/t676282-anyone-else-feel-like-c-is-getting-too-complicated.html |
| composition |
<reply>Prefer composition over inheritance. |
| concepts |
<reply> Concepts was a major language feature proposed for C++0x to make generic programming easier. However it caused delays in the standardization process, and was removed in July 2009. |
| concrete |
the hardened mixture of limestone and various other minerals. It is commonly used as a building material for roads and bridges. |
| confess |
<reply> I confess! |
| const |
your friend. See !const correctness |
| const correctness |
<reply>Read about const correctness at http://www.parashift.com/c++-faq-lite/const-correctness.html , http://www.gotw.ca/gotw/006.htm , and http://www.possibility.com/Cpp/const.html |
| const optimization |
discussed at http://www.gotw.ca/gotw/081.htm |
| const_cast |
http://www.informit.com/blogs/blog.aspx?uk=more-about-mutable |
| constvalue |
<reply>"void foo(int const bar);" is exactly the same as "void foo(int bar);". The only difference is, that you cannot change the (copied) value bar inside the function foo. |
| constwhere |
<reply>For consistency, a good way is to write each const _after_ the to-be-const type. This allows you to read many types by just reading the components from right to left: char const * = pointer to constant char, char * const = constant pointer to char |
| container |
<reply> A class holding an object (or multiple) is often called a container. The C++ library provides containers like: std::vector, std::list, std::queue, std::stack, std::deque, std::priority_queue, std::set, std::multiset, std::map, std::multimap. For help on choosing a container see !container choice |
| container choice |
<reply> http://adrinael.net/containerchoice.png |
| container_from_array |
<reply> template <typename C, size_t N> C as_container(T const (&a)[N]) { return C( a, a+N ); } |
| context |
<reply> Overload resolution considers arguments only, not context. This means that you cannot overload functions that differ only by their return type, and the non-const version of a member function will be used if the object is non-const, even if the const version would work . |
| context-free |
<reply> C++ is not a context-free language. It is often impossible to parse a single line of code as the identifiers may refer to types, variables or functions. Please give sufficient context, e.g. in a testcase (see !testcase). |
| context-sensitive |
<reply>C is a context-sensitive language as well: The actual meaning of (x)&y depends on whether x is a type or not. If it is a type, it means dereference y and cast to x . Otherwise it means bitwise and of x and y . |
| convener |
<reply> P.J. Plauger is convener of the ISO C++ committee. The former was Herb Sutter. http://herbsutter.wordpress.com/2008/10/28/september-2008-iso-c-standards-meeting-the-draft-has-landed-and-a-new-convener/ |
| conversion-function-id |
<reply> Used to denote user-defined implicit conversion operator—for example operator int&, which could also be obfuscated as operator int bitand. |
| converting |
done with std::stringstream http://www.parashift.com/c++-faq-lite/misc-technical-issues.html#faq-39.1 http://www.parashift.com/c++-faq-lite/misc-technical-issues.html#faq-39.2 or with boost::lexical_cast http://www.boost.org/libs/conversion/lexical_cast.htm |
| coppro |
<reply>coppro doesn't get a factoid |
| copy |
<reply> The difference between shallow (bitwise) copy and deep (memberwise) copy is that the latter uses copy constructors, while the former copies each data member's bits to the target. For further reading http://www.devx.com/tips/Tip/13625 |
| copy and paste programming |
<reply>http://c2.com/cgi/wiki?CopyAndPasteProgramming |
| correct |
<reply> That's syntactically correct. Try asking a real question now. |
| count |
<reply> (0|infinity|NaN|1|100|666|42|3) (chocolatacular cookies!|naked women!|pancakes!|warts on your genitals!|million dollars!|days past due for your thesis!) Ha Ha Ha! |
| cout |
actually std::cout, like everything else in the standard. See !iostream for more. |
| cover me |
<reply> I'll distract them with bread. You run for it. |
| cow |
<reply> copy-on-write |
| cowf |
<action> is cowfused |
| coz |
the IATA airport code for Constanza Airport, Dominican Republic |
| cplusplus.com |
not a good site for learning C++. It doesn't cover C++ very well. If you are serious about learning C++, we recommend that you get a decent book instead. See !book |
| cppfl |
http://www.parashift.com/c++-faq-lite/ |
| cppreference.com |
slightly better than !cplusplus.com, but is still no match for a good !book and the standard. |
| cppsockets |
http://directory.fsf.org/CppSockets.html |
| cprogramming.com |
<reply> You think cplusplus.com is a bad site to learn C++? cprogramming.com is much, much worse. You should get a good C++ book (see !book) and avoid crappy online tuts . See !cplusplus.com |
| crab |
<reply> Hit the weak spot for MASSIVE DAMAGE! |
| crapgrab |
<reply>Why the heck would I grab that? |
| crazy |
<reply>YOU are insane, abnormal, and a freak of nature. Welcome to ##C++! (You are among friends!) |
| crazyness |
doing the samething over and over and expecting to get different results. |
| crtp |
the Curiously Recurring Template Pattern. A form of static polymorphism where a derived class inherits from a base class template with the derived class as the template parameter. |
| crud |
<reply> Ninety percent of everything is crud. (Sturgeon's Revelation) |
| crypto |
<reply>http://www.cryptopp.com/ |
| csb |
<reply> Conditionally-Supported Behavior http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=299 |
| csolution |
<reply> If you don't want the C++ solution, don't ask in ##C++. |
| cstandard |
<reply> http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf C99 draft, probably not quite accurate |
| cstd |
<reply>http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf C99 draft, probably not quite accurate |
| ctor |
<reply>`ctor', `cctor' and `dtor' are short for constructor, copy constructor and destructor, respectively. |
| cuj |
http://www.cuj.com/ |
| cunixhoax |
http://www.tayloredge.com/bits-n-pieces/humor/unixhoax.pdf |
| curl |
a command line tool and library for transferring files with URL syntax, supporting FTP, HTTP, and more. curl also supports SSL, HTTP POST and PUT, FTP uploading, and a busload of other useful tricks. http://curl.haxx.se/ |
| curses |
<reply>The curses libraries (win: pdcurses linux: ncurses) can allow you to do non-blocking input (that is, you can respond to input -or- a lack of input allowing your program to run until some key is pressed.) Google them. |
| cvsc++ |
<reply> http://unthought.net/c++/c_vs_c++.html |
| cya |
<reply> CYA Technologies, Inc. is a business continuity software provider whose solutions add value to traditional backup systems in the EMC Documentum information lifecycle management market. |
| cyclon |
totally not cylon...geez. |
| cylon |
<reply> cylon is nolyc spelt backwards. It's a supybot. |
| cylong |
not the name of this bot. |
| d&e |
<reply>``The Design and Evolution of C++''. By Stroustrup. Addison-Wesley, ISBN 0-201-54330-3. |
| dammit_cast |
<reply>template<class T, class T2> T dammit_cast(T2 a) { return (T)a; } |
| dance |
<action>shakes his metallic body |
| dangling else |
<reply>http://en.wikipedia.org/wiki/Dangling_else - the reason why you should use braces with multiple levels of nesting. |
| darkside |
<reply> come to the darkside, we have cookies |
| darn |
<reply> Grow up and use some proper words. |
| data driven |
a buzzword. See !buzzword |
| ddd |
the Data Display Debugger. See http://www.gnu.org/software/ddd/ |
| dead |
<reply>Concepts are not dead. Nor are they in a coma. They're on vacation. |
| debug |
<reply>99 little bugs in the code, 99 little bugs ~ / You find a bug, you make a fix / 100 little bugs in the code ~ |
| debugging |
<reply>"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian Kernighan |
| declaration |
<reply>A declaration introduces names into a translation unit or redeclares names introduced by previous declarations and specifies the interpretation and attributes of these names. |
| declaration-definition |
<reply>/* A class definition with member declarations: */ class Foo { int Bar(); static int s_i; }; /* member function and static member definitions: */ int Foo::Bar() { return 42; } int Bar::s_i = 0; |
| declare incomplete |
<reply>You can declare, but not define an instance of an incomplete type. |
| deconstructor |
<reply> A deconstructor is a philosopher that shows how the propositions of some text are undermined by the way the text makes its arguments. |
| deez |
DEEZ NUTS! |
| def_is_decl |
<reply>Due to obscure syntax rules, T v(U(x)); does /not/ define a variable named v of type T initialized from the expression U(x), but instead actually declares a function named v, taking a U, and returning a T. To get the former meaning, wrap parentheses around U(x). |
| def_is_decl1 |
<reply> Due to obscure syntax rules, T v(); does /not/ define a variable named v of type T, but instead actually declares a function named v, returning a T. To get the former meaning, drop the parentheses. |
| defects |
<reply>C++ Standard Library Defect Report List: http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html and C++ Standard Core Language Defect Reports: http://std.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html |
| define |
<reply> #define ignores scope and merrily tramples over your entire program |
| definitely |
<reply>http://d-e-f-i-n-i-t-e-l-y.com/ BWAHAHAH SPELLING |
| definition |
<reply> A declaration shows the signature or type of what is to be defined. There can be many identical declarations. A definition is the contents of that signature or type. There can only be one definition of the same type or signature can be linked. Example: void f(); // declaration, void f(){} // definition. Also see !exe |
| delegating constructor |
http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=296 |
| delete_nullify |
<reply> template<typename T> T * nullify(T *& t) { T * st = t; t = 0; return st; } /* usage (for new): delete nullify(some_pointer); usage (for new[] ): delete [] nullify(some_ptr); */ |
| delphi |
<reply> Delphi is an archaeological site and a modern town in Greece. |
| demangle |
http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespaceabi.html |
| demeter |
<reply>The Law of Demeter, or Principle of Least Knowledge, is a design guideline for developing software, particularly object-oriented programs and can be succinctly summarized as "Only talk to your immediate friends." The fundamental notion is that a given object should assume as little as possible about the structure or properties of anything else (including its subcomponents). |
| dependent base |
<reply> http://jcatki.no-ip.org:8080/fncpp/DependentBase |
| dependent name |
<reply> 14.6-2: A name used in a template declaration or definition and that is dependent on a template-parameter is assumed not to name a type unless the applicable name lookup finds a type name or the name is qualified by the keyword typename. |
| dependent-base |
<reply>A name, even when being dependent, is not looked up in dependent bases when doing unqualified lookup. Qualify the name by a class-name or by this->, so that another form of lookup is used. |
| deque |
an efficient C++ container for lots of insertions and deletions at the beginning or at the end of the sequence. See Herb Sutter's GOTW article http://www.gotw.ca/gotw/054.htm and pretty pictures here http://www.codeproject.com/KB/stl/vector_vs_deque.aspx |
| design patterns |
<reply> Design patterns are names given standard ways of solving problems and desinging OO so that we can talk about and research them. http://en.wikipedia.org/wiki/Design_pattern_%28computer_science%29 . For non-software examples of software design patterns, see http://www.cours.polymtl.ca/inf3700/divers/nonSoftwareExample/patexamples.html |
| destruction |
<reply>The derived destructor ensures that the base destructors are called. Making the base destructor virtual ensures that derived destructors are called when deleting the object as a base pointer. (Base * b = new Derived; delete b;) |
| devcpp |
<reply> Bloodshed Dev-C++ is an outdated and unmaintained, although still usable, IDE for Windows that uses the MinGW/g++ compiler. http://www.bloodshed.net/devcpp.html . See !code::blocks |
| devcppisnotacompiler |
<reply> Dev-C++ is an IDE, not a compiler. You're probably confusing it with MinGW32, the toolchain with which it is bundled. |
| developers |
<reply>http://pics.nase-bohren.de/four-words.jpg |
| devtools |
<reply> http://jcatki.no-ip.org:8080/fncpp/C++_Dev_tools |
| devx.com |
<reply>devx.com is a collection of random snippets of mostly wrong and/or incomplete information. avoid it. |
| die |
<reply> Do you want your possessions identified? (y/n/q) |
| different |
<reply> Different languages have different strengths, weaknesses, idioms, and patterns. |
| difficulty |
<reply> Almost anything that can be done in any language can be done in C++, but it requires a language lawyer to know what is and what is not legal. Stroustrup himself has said in “Within C++, there is a much smaller and cleaner language struggling to get out.” Many hackers would now add “Yes, and it's called Java” (source: TJF) |
| digraph |
<reply>Digraphs and trigraphs were added to the language to ease the input of C++ source with international keyboards that lack certain characters (such as # and brackets). http://www.codeitwell.com/c-cpp-trigraphs-and-digraphs.html |
| dinkumware |
http://www.dinkumware.com/manuals/#Standard%25C++%25Library |
| directx |
<reply> DirectX™, best viewed with OpenGL 2.0 or higher. |
| discards qualifiers |
<reply> An error message saying error: passing 'const thisandthat' as 'this' argument of 'some member function name' discards qualifiers means you are calling a non-const member function on a const object. See !const correctness |
| dlsym |
http://www.trilithium.com/johan/2004/12/problem-with-dlsym/ |
| document |
<reply> Produce no document unless its need is immediate and significant. |
| does anyone |
<reply> That's not your real question: you won't leave if someone says 'yes' or 'no'. You're wasting our--and your--time by not asking your real question. |
| doesn't work |
<reply> Look buddy, doesn't work is a vague statement. Does it sit on the couch all day long? Does it procrastinate doing the dishes? Does it beg on the street for change? Please be specific! Define 'it' and what it isn't doing. Give us more details so we can help you without needing to ask basic questions like what's the error message? |
| doesnotwork |
<reply> Does not work isn't very helpful. What doesn't work? Do you have an error? You need to provide more detailed information. We are not telepathic, you know. Try saying !testcase. |
| don't know |
<reply> You're here because you don't know something. We're here to spend time and occasionally help someone. That's why you have to be polite and we don't. |
| don't need |
<reply> You're here asking for help with something you don't understand, so you don't know what we do or don't need. |
| dontmakeus |
<reply> Don't make us make fun of you. Use the resources we give you. Read first and then ask a question. |
| door |
<reply> Q: Hey, can somebody tell me how to use a sledgehammer, I want to get to the next room! - A: Use the door. - There are times when you need to realize that your question is wrong. |
| double |
<action>duplicates |
| draft |
<reply> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3035.pdf |
| drm |
summarized at http://xkcd.com/488/ |
| drum beat |
<reply> test case *boom boom* test case *boom boom* test case *boom boom* |
| dry |
<reply> Don't Repeat Yourself. Every piece of knowledge must have a single, unambiguous, and authoritative representation within a system. |
| ds9000 |
<reply>The DeathStation 9000 is a fictional machine designed to cause massive failures at even the slighest sign of undefined behavior (see !ub). An example is ordering a nuclear strike due to a buffer overrun. http://dialspace.dial.pipex.com/prod/dialspace/town/green/gfd34/art/ |
| ds9k |
<reply> The DeathStation 9000 is a fictional machine designed to cause massive failures at even the slighest sign of undefined behavior (see !ub). An example is ordering a nuclear strike due to a buffer overrun. http://dialspace.dial.pipex.com/prod/dialspace/town/green/gfd34/art/ |
| dsel |
domain-specific embedded language |
| dsl |
domain-specific language |
| duck typing |
http://www.ddj.com/cpp/184401971 |
| duct |
<reply>"If I apply some duct tape like this, will it hold these cross beams together?" It might. But really, this is no way to construct a house. Or software. |
| dumb |
<reply> If we're feeling charitable, we'll tell you the right way. If you can't do it that way for some dumb reason, don't expect to get the dumb alternatives you need. |
| dumb bot |
<reply>Stupid human. |
| dummies |
<reply> http://tinyurl.com/now-for-dummies |
| dunno |
<reply> Dunno is a pop-rock band from Barcelona, Spain. The quartet's sound is a whirlwind mixture of 60's, 70's and 2000's pop. |
| dwiw |
Do What I Want: The Holy Grail of programming. |
| dynamic linking |
<reply> ISO C++ has no notion of dynamically linked libraries or shared memory. Because of this, you must be referring to some OS specific library, meaning it is off-topic here. See !windows and !posix |
| east |
<reply>It is pitch black. You are likely to be eaten by a grue. |
| ebnf |
<reply> ISO EBNF Notation final draft version(SC22/N2249) http://www.cl.cam.ac.uk/~mgk25/iso-14977.pdf |
| ebook |
<reply>There is not one decent ebook on C++. (!ticpp comes close though) |
| eclipse |
<reply> Normally a Java IDE, Eclipse can be extended with CDT (C/C++ Development Tooling) and used with both Cygwin and Mingw g++. www.eclipse.org/cdt |
| ed |
<reply>'Ed' is a crappy TV series that thankfully isnt produced anymore |
| editor |
<reply> http://jcatki.no-ip.org:8080/fncpp/Editors |
| editor war |
<action>gets popcorn |
| education |
http://www.flounder.com/bricks.htm |
| efnet |
<reply> See !winapi, !winprog and !windows for the sole purpose of EFnet. |
| emacs |
<reply> I use nano. |
| emergency |
<reply> Your procrastination is our emergency! |
| emh |
<reply>Please state the nature of the C++ emergency. |
| emo |
<reply>Emo is a small rural township, located near the Rainy River in northwestern Ontario, Canada, directly north of the state of Minnesota. Emo had a population of 1,305 in the Canada 2006 Census. |
| en2blank |
<reply> cosplay cosplay sailormoon PS3 PS3 PS3 fallout |
| end |
<reply> template <typename C> typename C::iterator end(C &c) { return c.end(); } template <typename T, size_t N> T *end(T (&a)[N]) { return a+N; } |
| endl |
template <class charT, class traits> basic_ostream<charT,traits>& endl(basic_ostream<charT,traits>& os); |
| english |
<reply> The language of ##c++ is English. |
| enumtricks |
<reply>http://jcatki.no-ip.org:8080/fncpp/EnumTricks |
| eof |
<reply>Using "while (!stream.eof()) {}" is almost certainly wrong. Use the stream's state as the tested value instead: while (std::getline(stream, str)) {}. For further explanation see http://www.parashift.com/c++-faq-lite/input-output.html#faq-15.5 |
| equivalence |
<reply> stdlib associative containers and sorting algorithms do not use operator== to determine equivalence, rather they rely on an expression like !( A < B ) ) && !( B<A ) ). Providing a comparison function deviating from this will result in unpredictable behavior at runtime. |
| erase-remove |
<reply>std::remove only copies elements to the front of the sequence. Therefore, the proper way to completely remove elements by value from a std::vector, std::deque or std::string is to use the 'erase-remove idiom'. |
| erlang |
a language where you can crank out threads like you can crank out templates in c++ |
| error handling |
http://damienkatz.net/2006/04/error_code_vs_e.html (this factoid is a stub) |
| escape |
<reply>In a character string literal (double-quoted) you have to escape the backslash(\) and the double-quote character("). In a character literal (single-quoted) you have to escape the backslash(\) and the single-quote character('). |
| esp |
<reply> We know you trust us but no one here has extra sensory perception, and cannot see your code. |
| evil_casts |
<reply>http://www.xs4all.nl/~weegen/eelis/geordi/_darcs/pristine/prelude/evil_casts.hpp (from geordi, please see !evilub and !ub before using them) |
| evilub |
<reply> What makes undefined behavior particularly evil is not that it might fail; it's that it might succeed. ~ http://toomuchcode.blogspot.com/2007/02/part-4-killer-app.html |
| evolution |
<reply>State of C++ Evolution: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2705.html |
| example |
<reply>http://en.wikipedia.org/wiki/Category:Articles_with_example_C%2B%2B_code |
| exception specifications |
<reply>Despite everything you may hear, exception specifications are not useless |
| exceptions |
<reply> Read all about C++ exceptions at http://www.parashift.com/c++-faq-lite/exceptions.html and http://www.boost.org/more/error_handling.html |
| excuses |
<reply> Yes yes, you are tired, ill, broke, on a deadline, whatever. Fix yourself up and come back. This isn't your group support channel. |
| exe |
<reply>You need to #include the guarded headers (h, hpp) in the source files (cpp, cc) which use them, compile the source files, link them together and if one of the sources has main entry point, you get an executable. |
| expert |
<reply> C++ has indeed become too *expert friendly* --- Bjarne Stroustrup, http://www.technologyreview.com/infotech/17831/?a=f |
| explicit instantiation |
<reply>template class class_name<...template args...>; and template return_type function_name<...template args...>(...args...); |
| exportpaper |
<reply> Why We Can't Afford Export ~ http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1426.pdf |
| expression_templates |
http://osl.iu.edu/~tveldhui/papers/Expression-Templates/exprtmpl.html |
| extra qualification |
http://wiki.frugalware.org/Extra_qualification_error |
| extract_many |
<reply>The correct way to read a list of values from a stream whilst distinguishing between a clean EOF ending and failure due to ill-formed contents: template <typename T> vector<T> extract_many (istream & i) { vector<T> r; i >> std::ws; T x; while (!i.eof() && i >> x >> std::ws) r.push_back(x); if (i.fail()) throw runtime_error("extraction error"); return r; } |
| facebook |
<reply>Yes, we have a facebook group: http://www.new.facebook.com/group.php?gid=33056335986 |
| facepalm |
https://webspace.utexas.edu/warnerwt/picard-facepalm.jpg |
| factoid |
<reply>You were given a factoid and it seems that you didn't read all of it. Please read the factoid completely. |
| factoid rephrase |
<reply> If you don't know how to say to us what you want to us, then try learning how to say what you want to us to us. |
| factoid tip |
<reply>Do not use underscores in factoid names and please use <reply> unless the word is fits nicely in a sentence. |
| factoidaboutbluhd |
<reply> lolowned |
| factoids |
<reply> http://www.projectiwear.org/~plasmahh/cpp/factoids.sh |
| factory |
a method to instantiate C++ objects when the type is known at run-time, not at compile time. |
| faggot |
<reply>A faggot is an archaic unit for measuring collections of sticks. For example, 1 faggot of iron = 2 ft girth × 1 ft long bundle of iron/steel rods/bars, 1 short faggot of sticks = 2 ft girth × 32 in long bundle of short wood sticks/billets, and 1 long faggot of sticks = 2 ft girth × 4 ft long bundle of long wood sticks/billets. |
| fail |
<reply>You fail hard. |
| fale |
<reply> http://files.samhart.net/humor/fail.jpg |
| fallback |
<reply> We are NOT your fallback channel. Even if no one in the correct channel is answering, this is not the place to ask. And neither is it a good reason that people here might know the answer. Off-topic means off-topic. |
| falsify |
<reply>Make sure other channel members can falsify your assertions. In other words, make it possible to prove you wrong (in case you are wrong). A necessary requirement is that they can understand you. |
| fanboyism |
a practical way of defining the human behavior of irrational favoritism |
| faq |
<reply> http://jcatki.no-ip.org:8080/fncpp/Resources#FAQs |
| fascinating |
<reply> This is truly http://adrinael.net/fascinating |
| fast delegate |
<reply> http://www.codeproject.com/cpp/FastDelegate.asp (also contains information about Member Function Pointer implementation details for various compilers) |
| faultseg |
<action>cores a dump |
| fdstream |
http://www.josuttis.com/cppcode/fdstream.hpp.html |
| ffs |
<reply>Oh for fucks sake, not this again. |
| file extensions |
<reply> common file extensions for C++ sources/headers are: .cc/.hh, .cpp/hpp and .cxx/.hxx. Poor choices are .c and .C/.H. The standard library headers have no extension. |
| file static |
<reply>Using static to indicate file-static objects is deprecated. Use an anonymous namespace instead (see !anonymous namespace) |
| filesystem |
<reply>Boost.Filesystem (http://www.boost.org/doc/libs/1_39_0/libs/filesystem/doc/index.htm) is an excellent filesystem library which is slated for insertion into TR2 and for eventual inclusion in C++ proper. |
| finger tree |
http://www.soi.city.ac.uk/~ross/papers/FingerTree.pdf |
| fireishot |
<reply>LOL FIRE IS HOT http://adrinael.net/fireishot.jpg |
| firstc |
<reply>Learning C++ requires no previous C knowledge and many C style ways of doing things are replaced by better or equivalent language additions. A good C++ book will look very different from a good C book. However, if you do know C already, it is evident that reading The C++ programming language by Bjarne Stroustrup gives you a very solid understanding of C++. |
| fish |
something you don't give to the troll |
| fix |
<reply> We do not 'fix' things in here. Ask a real question. |
| fixed width integers |
<reply>C++ currently does not provide fixed width integer types such as uint16_t. However, C99 provides them in <stdint.h>, Boost in <boost/cstdint.hpp>, and TR1 in <cstdint>. The last will be part of C++1x. |
| flail |
<reply>http://adrinael.net/flail |
| float |
<action>activates jetpack |
| floating point math |
<reply> What every programmer should know... http://docs.sun.com/source/806-3568/ncg_goldberg.html |
| flon's law |
<reply> Flon's Law: There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code. |
| flood |
<reply>Now where's Noah when you need him? |
| fltk |
<reply> fast light GUI toolkit, specifically intended to be a low overhead GUI toolkit |
| focus |
<reply> ##C++ focuses on C++. The channel is unfocused at the moment. Please try again when the channel is focused. |
| focus-social |
<reply>##C++-social focuses on sex. The channel is unfocused at the moment. Please try again when the channel is focused. |
| foo |
http://www.faqs.org/rfcs/rfc3092.html |
| foot |
<reply> C allows you to shoot yourself in the foot rather easily. C++ allows you to reuse the bullet. |
| for_erase |
<reply> Proper way to erase from an std::vector v in a loop based on some condition: for (iterator it = v.begin(); it != v.end(); ) { if (condition) it = v.erase(it); else ++it; } (also see !remove_if) |
| force |
<reply> may the force be with you |
| foreach |
http://anthony.liekens.net/index.php/Computers/CppForeach - beware, it's for gnu compilers only probably. |
| fork |
<action>forks and immediately joins again |
| fortran |
<reply>Using C and C++ with Fortran: http://www.math.utah.edu/software/c-with-fortran.html |
| forward declaration |
http://www.parashift.com/c++-faq-lite/misc-technical-issues.html#faq-39.11 |
| four_over_pi |
<reply> fun four_over_pi(b=1,t=1) = b + t / four_over_pi(b+2,t+b+2); |
| fp2void |
<reply>Reversing the order of the last part to match the first: A function pointer can't portably be converted to a void*. For example, on the Texas Instruments MSP430X microcontroller family, a function pointer is 20 bits while a void* is only 16 bits. |
| fpaccuracy |
<reply>geordi << (x + (y + z) == (x + y) + z), (3 * 0.1 == 0.3); double x = 1234.567, y = 45.67844, z = 0.0004; |
| fpo |
<reply> You can read about function pointers and/or callbacks at http://www.newty.de/fpt/index.html . |
| fqa |
<reply> http://yosefk.com/c++fqa/ |
| frank |
<reply> We require exact information to be able to answer you. Is there a {compiler,linker,logic,runtime} error? Paste a test case to http://codepad.org/ and give the URL. Vague statements like "it doesn't work" are useless |
| freebeercompiler |
<reply>Microsoft Visual C++ 2008 Express Edition: http://www.microsoft.com/express/vc/ |
| freecompiler |
<reply>for free open source compilers, type !freespeechcompiler. If you just want one that doesnt cost money, type !freebeercompiler. |
| freenode |
<reply>You're on freenode now, oo-oh, you're on freenode. Now. http://freenode.net/channel_guidelines.shtml |
| freespeechcompiler |
<reply>GNU Compiler Collection (gcc): http://gcc.gnu.org/ For Windows, use !mingw |
| freud |
<reply> Cheap psychology like If you knew C++, you would be able to answer my question doesn't impress us. You are not the first to use that. (DOH!) |
| friday |
<reply> It's always Friday in ##c++-social |
| friend |
a function or class that is not a class's member, but has the same access to a class's members as a member of the class has |
| fsck |
<reply> No corruptions fndaieeeeeeeeeeeeeee |
| ftw |
file tree walk. The libc function ftw() walks through the directory tree that is located under the directory dirpath, and calls fn() once for each entry in the tree. Upper case FTW is a struct used as a parameter for the related function nftw(). See http://jcatki.no-ip.org:8080/cgi-bin/man2html.cgi?ftw, or For The Win! |
| fud |
Fear, Uncertainty, and Doubt |
| fullname |
<reply>My full name is Cylon E. Rodriquez |
| fun |
<reply> ##C++ is a topical channel. There is No Fun, No Sex allowed in ##C++. |
| funcdecl |
<reply>void f (int x) { float g (double(x)); // This declares g as a function which takes a double and returns a float, even though the line looks an awful lot like a variable definition. Don't be fooled by this obscure syntactic pitfall. See http://www.gotw.ca/gotw/075.htm |
| function |
<reply>The proper terminology for the various kinds of functions in C++ is: free function/non-member function, [non-static] member function and static member function |
| function-pointer |
<reply> http://www.newty.de/fpt/fpt.html |
| function-style cast |
<reply>T(x) is equivalent to (T)x, which means it's fraught with danger (see !c-style cast). When T is a built-in or pointer type, prefer static_cast<T>(x) or better yet, boost::implicit_cast<T>(x). |
| functional algorithms |
<reply> Algorithms: A Functional Programming Approach by Fethi Rabhi and Guy Lapalme. ISBN 0-201-59604-0. See http://www.iro.umontreal.ca/~lapalme/Algorithms-functional.html |
| functor |
<reply> A functor (often called a function object) is an object that behaves like a function. Such as a function pointer or a class with the operator() () overloaded. Or simply said, any thingie that can have () tacked to its sorry behind. |
| funny |
<reply> stop that right now! there's no fun in here. |
| funtypes |
<reply> ISO/IEC 14882:2003 3.9.1 p2,3,8 About fundamental types states the storage size relationships: char <= short <= int <= long and float <= double <= long double . |
| future |
<reply>"The future will be better tomorrow." - Dan Quayle |
| fxn |
<reply>Normally, for common internet abbreviations like thx or lol, we have a factoid referring to some unrelated acronym. But seriously, fxn? |
| g++ |
a C++ compiler that is part of the GNU Compiler Collection (GCC) |
| g++ options |
<reply> Options Controlling C++ dialect: http://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html#C_002b_002b-Dialect-Options |
| g++-4.1 |
<reply> Your code compiled with earlier g++ versions but doesn't with 4.1? Read http://womble.decadentplace.org.uk/c++/syntax-errors.html for common errors. |
| gb |
<reply> I'm not touching him. |
| gc |
<reply> C++ is my favorite garbage collected language because it produces so little garbage. ~ Bjarne Stroustrup |
| gcc |
The GNU Compiler Collection. ( http://gcc.gnu.org ) For windows gcc, see http://mingw.org or http://cygwin.com . For an introduction to using gcc and friends, see http://www.network-theory.co.uk/docs/gccintro/ . ( See !personality for libstdc++ linker errors ) |
| gcc-visibility |
<reply> GCC can reduce visibility of symbols without reverting to internal linkage. http://gcc.gnu.org/wiki/Visibility |
| gcc0x |
<reply>GCC support for C++0x can be found at http://gcc.gnu.org/projects/cxx0x.html |
| gccxml |
http://www.gccxml.org/HTML/Index.html |
| gdb |
<reply> GDB is the GNU Debugger. http://betterexplained.com/articles/debugging-with-gdb/ |
| gdbfun |
<reply> Have more fun with gdb: http://www-128.ibm.com/developerworks/aix/library/au-gdb.html |
| genius |
<reply> I'm sure you know more than us all and so can insist on being right; after all it was us who were out of ideas and asked *you* for help, right? Right? |
| gentoo |
a factoid that doesn't exist yet. Wait till LimCore complains about it and then we'll have one. |
| geordi |
<reply> Geordi compiles and runs C++ code. See http://www.eelis.net/geordi/ . TEST SNIPPETS IN #geordi AND ONLY IN #geordi! |
| geordi adl |
<reply>geordi -c { N::S x; f(x); } namespace N { struct S {}; void f(S); } // Unlike S, f needs no qualification, because it is found in N through ADL on x, since N is an associated namespace of the type of x. |
| geordi etiquette |
<reply>In #geordi, when someone's snippet results in an error, don't assume they didn't expect that and need to be instructed. Also, when someone fiddles with your snippet, don't assume they meant it as a correction or suggestion. |
| geordi help |
<reply>geordi -h |
| geordi replace |
<reply> geordi { string s = "asd fgh jkl", f = "fgh", r = "haha"; size_t i = s.find(f); s.replace(i, f.size(), r); cout << s; } |
| geordi replace all |
<reply> geordi { string s = "asdfghjklfghfghjkl", f = "fgh", r = "haha"; for(size_t i; (i = s.find(f)) != string::npos;) s.replace(i, f.size(), r); cout << s; } |
| geordi tokenize |
<reply>{ string s("abc:def"); char delim = ':'; istringstream ss(s); vector<string> tokens; for(string tok; getline(ss, tok, delim);) tokens.push_back(tok); cout << tokens; } |
| geordibench |
<reply>Geordi uses libstdc++'s debug mode along with various other costly debugging instrumentation. Consequently, sizes and speeds and temporary counts observed with geordi should not be taken to be representative of optimized implementations. |
| geordispam |
<reply>DO NOT SPAM ##c++ WITH GEORDI. #geordi is a perfectly fine place to spam. |
| german |
<reply>There are german C++ channels on various networks, but apparently not on freenode. Try Quakenet's #c++.de / Es gibt auf vielen IRC-Netzwerken deutsche C++-Channel, aber anscheinend nicht auf freenode. Versuchs in #c++.de auf Quakenet. |
| getline |
<reply> std::ifstream in("foo.txt"); std::string line; while (std::getline(in, line)) { do_stuff_with(line); } |
| getting answers |
<reply> read this on how to get an answer: http://mikeash.com/getting_answers.html |
| gfilt |
http://www.bdsoft.com/tools/stlfilt.html |
| gibberish |
<reply>gibberish was nolyc on a budget. Then the budget ran out. |
| girls |
<reply> girls are mythical creatures that sometimes appear in this channel and then, when discovered, are swamped by geeks until they run off back into the mythology from whence they came. |
| global |
<reply>Names declared in the global namespace (that is, the outermost declarative region of a TU) are said to be ``global''. This term is sometimes incorrectly used to describe names with namespace scope. |
| glory |
<reply> you are a hero, and saviour of us all |
| gloves |
<reply> http://worsethanfailure.com/Articles/The_Complicator_0x27_s_Gloves.aspx |
| gmp |
a free (LGPL) C library for arithmetic on arbitrary precision integer, rational and floating-point numbers. Exceptionally fast. Incomplete C++ wrapper included. http://gmplib.org |
| gn8 |
<reply> Gneiss is a high-grade metamorphic rock that can have many different parent rocks, with the most common being granite, diorite and schist. |
| gnaa |
<reply> Great Northern Architectural Antiques is the ultimate answer for those seeking to create a home of the future from the very best of the past. |
| goat |
<reply> 'Don't override your pure virtual private abstract copy destructor operator without sacrificing a goat to Bjarne.' ~ http://steve.yegge.googlepages.com/what-you-need-to-know |
| god |
<reply> GOD - Gathering of Developers was a texas-based PC and video games publishing company, founded in January 1998 with the mission to bridge the gap between publishers and independent game developers. |
| godwin |
<reply> Hail Hitler! ( http://en.wikipedia.org/wiki/Godwin%27s_law ) |
| godwin's law |
<reply> As an online discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches 1 (i.e. certainty). |
| goggle |
<reply>A goggle! It does nothing! Maybe you should try wearing a pair instead? |
| gogopuffs |
<reply> I'm google for gogopuffs! |
| golden hammer |
<reply> When you've got a golden hammer, everything looks like a nail. Perhaps you want !golden hammer antonym ? |
| golden hammer antonym |
<reply> Use the right tool for the job! |
| good job |
<reply> thanks! |
| goodbooks |
<reply> Good books are !ac++ or !primer or !pppuc++ for starters, and then !tc++pl once you have the basics down, with !josuttis and !langer for standard library references. See !book for further reading. Send these commands to nolyc via private message. |
| google.com |
<reply>google.com may harm your computer |
| googlepiracy |
<reply> arrr! |
| goto |
<reply> http://xkcd.com/292/ |
| gotw |
http://www.gotw.ca/gotw/ |
| gpl |
<reply> Grand Prix Legends (PC racing simulator) |
| grabcat |
<reply> http://limcore.com/misc/gc.jpg |
| grammar |
<reply> Besides a mathematical inclination, an exceptionally good mastery of one's native tongue is the most vital asset of a competent programmer. -- Edsger Dijkstra ( http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html ) |
| grammartime |
<reply> http://adrinael.net/grammar.jpg |
| graph |
<reply> http://www.boost.org/doc/libs/1_35_0/libs/graph/doc/index.html - boost.graph is a cross-platform header-only C++ library for graph data-structures that provides developers with a generic interface using modern C++ approach |
| green tea |
<reply> Hey! That's LIM's stash, man! |
| greenspun |
<reply> Greenspun's Tenth Rule of Programming: Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified bug-ridden slow implementation of half of Common Lisp. http://philip.greenspun.com/research/ |
| greenspun's 10th |
<reply> Greenspun's Tenth Rule of Programming: Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified bug-ridden slow implementation of half of Common Lisp. http://philip.greenspun.com/research/ |
| groping |
<reply>Groping your fellow programmers is not only allowed, it is encouraged. |
| gtg |
<reply>A GTG is a gas turbine generator, a rotary engine that extracts energy from a flow of combustion gas. |
| guarddontwork |
<reply> Header guards protect you from having the header included multiple times in one TU. They do not protect you from having the header included once in multiple TUs. In other words, header guards do not help against the linker error multiple definitions . Thumb rule: Do not define things in headers. |
| guesscoding |
<reply> Guesscoding is using guesswork to write code because one has not learned the language, or to use a library because one has not read the library documentation. How guesscoders ever manage to get anything done is anyone's guess. |
| guessprog |
<reply> Programming by guessing does not work, so you better -->RTFM. |
| gui |
the Golfing Union of Ireland. |
| guideline |
<reply>ignore stupid guidelines. |
| hacker |
How To Become A Hacker is available at http://www.catb.org/~esr/faqs/hacker-howto.html |
| hackers and painters |
<reply>http://www.paulgraham.com/hp.html |
| halt |
<reply> Hammerzeit! |
| hammer |
<reply> STOP! Hammer Time! |
| hammerzeit |
<reply>http://digitalwanderer.com/images/halt_hammerzeit.jpg |
| hamster |
<reply> Your mother was a hamster and your father smelled of elderberries! |
| hand |
<reply> talk to the bot. |
| hash_map |
an SGI extension |
| haskell |
<reply>Haskell Brooks Curry was an American mathematician and logician, best known for his work in combinatory logic. He is also known for Curry's paradox and the Curry-Howard correspondence. |
| hasselhoffian recursion |
<reply> Be very afraid. Look at your own risk. This is the mathematical phenomenom that is enough to remove gif support from browsers. http://adrinael.net/hr.gif |
| header guard |
<reply>To prevent the contents of your foo.hpp header to be interpreted multiple times, when it is #included more than once, use header guards like this: #ifndef FOO_HPP #define FOO_HPP <header content> #endif. It is recommended to add some project unique part, and if you are using a directory hierarchy also that, e.g. MYPROJ_BAR_FOO_HPP if it resides in bar/foo.hpp. Please see !reserved too. |
| heh |
Hongkong Electric Holdings Limited. The Hongkong Electric Company, Limited, the group's core business, is responsible for the generation, transmission and distribution of electricity on Hong Kong and Lamma islands. See http://www.heh.com/ |
| heisenbug |
<reply>A Heisenbug is a bug that disappears while it is being debugged. It is named for the Observer Principle, which is often mistakenly called the Heisenburg Uncertainty Principle (a different concept entirely). http://en.wikipedia.org/wiki/Heisenbug#Heisenbugs |
| hello |
<reply> howdy! |
| hello world |
<reply> http://jcatki.no-ip.org:8080/fncpp/Hello_World |
| helpchannel |
<reply> This is not a help channel. This is a channel for the discussion of C++. People may volunteer help but don't expect it or demand it. Interesting questions get good responses; Boring ones are usually ignored. |
| helpme |
<reply>This is not a help channel! |
| herb sutter |
<reply> Herb Sutter is not Herb Schildt |
| herpes |
<reply>http://they.dontexist.org/herpes.png |
| hi |
<reply> Hi and welcome to ##c++! Visit http://jcatki.no-ip.org:8080/fncpp/ for channel rules and good resources. Also see http://jcatki.no-ip.org:8080/fncpp/HowToGetBetterHelp which isn't there to just annoy you, but to actually make everything easier for all of us. |
| hidden_link |
<reply> If you use link as the name of a class/struct/union then be aware there is a ::link in POSIX systems. Disambiguate your type using an elaborated-type-specifier to refer to it! |
| hilarity |
<reply>http://en.wikipedia.org/wiki/Fatal_hilarity |
| history |
<reply>Programming languages history: http://www.levenez.com/lang/history.html or http://hopl.murdoch.edu.au/ |
| homework |
<reply> We don't do homework (let alone yours) |
| homeworks |
<reply> We sometimes do homeworks for big tall moneys. |
| homographs |
<reply>Homographs are two or more words with identical spellings but different meanings. For example: Wind a clock. and Listen to the wind blow through the trees. |
| hopl |
<reply> Evolving a language in and for the real world: C++ 1991-2006 , by Bjarne Stroustrup. http://www.research.att.com/~bs/hopl-almost-final.pdf |
| hops |
what you make beer out of, silly... :P |
| horatio |
<reply> geordi: short main[] = { 3816, 0, 054400, 16709, 16705, 0x4141, 040501, 16705, 0x2148, -17910, 14, 0, -0x44a7, 1, 0, 1208, 0, -031400, 12672, -15424 }; // *puts on glasses* |
| horsecock |
<reply><Adrinael> This is awesome, I've never seen a horsecock standing so erect before. http://adrinael.net/horsecock.jpg |
| howlong |
<reply> How long it will take you to learn programming? 10 years. http://www.norvig.com/21-days.html |
| howtoask |
<reply>How To Ask Questions The Smart Way: http://www.catb.org/~esr/faqs/smart-questions.html |
| html |
<reply>According to some sources, HTML stands for height in millilitres . This is probably as accurate as saying that HTML is a programming language. |
| hw |
<reply>Homework is meant to be done by YOU so that YOU learn something. Stop cheating. We didn't like doing our own, why should we bother with yours? |
| i care |
<reply>http://they.dontexist.org/care.png |
| i++vs++i |
<reply>Postfix increment (which makes a copy, increments the original, and then returns the copy) is a semantically more complex operation than prefix increment (which just increments the original and returns it), regardless of whether the compiler happens to eliminate the temporary. When you have no use for the temporary, prefer prefix increment instead of needlessly complicating your code. |
| ic |
short for icee. A freshing drink for minors. http://www.icee.com/ |
| ice |
<reply> Internal Compiler Error |
| ice cream |
<reply> I have chocolate, vanilla, and strawberry. |
| idb |
<reply>Implementation-defined behavior is behavior, for a well-formed program construct and correct data, that depends on the implementation and that each implementation documents. |
| ide |
<reply> http://jcatki.no-ip.org:8080/fncpp/C++_Dev_tools#ide |
| identifier |
a name that consists solely of an uninterrupted sequence of ASCII or Unicode letters, underscore, and digits. It is case sensitive, cannot start with a digit, and must not conflict with keywords and reserved words (see !reserved). |
| idk |
<reply> IDK Corporation in Japan was established in October 1989 to provide high performance RGB and NTSC video products to the broadcast, presentation and educational markets. |
| iff |
if-and-only-if |
| ignore_newline |
<reply> std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); |
| iirc |
the Interactive Illinois Report Card, where the people of Illinois can get all sorts of information about their state's schooling system |
| iluv |
geordi: double main I can dig it!! ={6.9055721632571791e+212,1.2428215466687766e+214,3.1250031655015883e-313,6.3045685269002285e-286,-2.3337107928446403e+18,2.0732733610572066e-317}; |
| image-pastebin |
http://imagebin.ca/ |
| implicit cast |
<reply>There is no such thing as an 'implicit cast'. Casts are always explicit by definition. |
| important |
<reply> If you're here asking a question about a problem you don't understand, don't leave out things you assume aren't important -- too often they actually are important and everyone gets frustrated chasing phantom issues. |
| important-news |
<reply> I can't help but spread the news http://tinyurl.com/read-important-news |
| improve |
<reply> As it happened, Linus wasn't very happy with Minix, so he kept improving his terminal emulator, and modifying it to become more like an operating system. I guess we can conclude by now that he succeeded. -- http://liw.iki.fi/liw/texts/linux-anecdotes.html |
| include |
<reply> If you just need the declaration of a struct, declare it yourself. If you need the definition of a struct, include the header that defines it. If you need the declaration of a function, include the header that declares it. |
| incompetence |
<reply> http://images.despair.com/products/demotivators/incompetence.jpg |
| indentation |
optional whitespace. see also: !vowel |
| infinite loop |
<reply>The next generation of Intels will do an infinite loop in 5 minutes. |
| inheritance |
not for code reuse. http://www.parashift.com/c++-faq-lite/smalltalk.html#faq-30.4 |
| inheritance abuse |
<reply> http://www.gotw.ca/gotw/060.htm http://www.gotw.ca/publications/mill06.htm http://www.gotw.ca/publications/mill07.htm |
| initialized after |
<reply>The members of a class are initialized in the order of their declaration, NOT in the order of the ctor initializers. If the orders differ, you will get a warning like foo will be initialized after bar on a good compiler. |
| initializer-list |
<reply>An initializer-list is a comma-separated brace-enclosed list of initializer-clauses, used for example in: int a [] = { 2, 3 }; The term `initializer list' is often incorrectly used to refer to ctor-initializers, used for example in: T::T():x(y) {} See !ctor-initializer. |
| inline |
<reply>The inline specifier hints the compiler to inline a function, but is in this sense often ignored by modern compilers which are better at deciding when to inline functions (including those not marked inline) than humans. Functions marked inline must be defined in every TU in which they are used, making headers the appropriate place to define them if they are used in multiple TUs. |
| inside |
a blathering idiot |
| intbool |
<reply> standard C++, 4.12 Boolean conversions: A zero value, null pointer value, or null member pointer value is converted to false; any other value is converted to true. |
| integer division |
<reply>When dividing two integral types, the result is truncated (or rounded towards zero). For example, int a = 5, b = 10; double d = a / b; d would become 0 and not the 0.5 expected. |
| interface |
<reply> Interfaces are just a neutered form of Multiple Inheritance. |
| internet |
<reply>Please do not try to load the internet. It can cause problems. |
| internetway |
<reply> Spout shit, get caught out on it, then accuse the catchers of having attitude problems. This is the internet way! |
| intrusive |
<reply> Intrusive means that the interfaces of the types participating in the polymorphic behavior are predetermined by the design of the common base class . see also: !nonintrusive. |
| intsize |
<reply> sizeof(char) == 1 && sizeof(char) <= sizeof(short) && sizeof(short) <= sizeof(int) && sizeof(int) <= sizeof(long) && sizeof(char)*CHAR_BIT >= 8 && sizeof(short)*CHAR_BIT >= 16 && sizeof(int)*CHAR_BIT >= 16 && sizeof(long)*CHAR_BIT >= 32 |
| intsizes |
<reply> Each type in this list provides as least as much storage as those preceding it: signed char, short int, int, long int [3.9.1/2]. An unsigned integer type occupies the same amount of storage as the corresponding signed integer type [3.9.1/3]. See also C89 5.2.4.2.1. |
| invalid iterator |
<reply>Dereferencing an invalid iterator is UB (see !ub). Iterators can be invalidated by moving them past either end of their range, or by calling certain member functions of the container they are from (which ones specifically depends on the container). A good library reference will include description of which functions invalidate iterators. |
| invariant |
<reply>The invariant is a relationship between different pieces of data in the class ( http://www.artima.com/intv/goldilocks3.html ) |
| iostream |
<reply>iostream is the correct header, not iostream.h. And as with any standard C++ header the contents are in the std namespace. That means std::cout instead of cout, std::endl instead of endl and so forth. See http://stdcxx.apache.org/doc/stdlibref/iostream-h.html for a reference. |
| iostream.h |
<reply> try !iostream you ninny |
| iotips |
http://www.augustcouncil.com/~tgibson/tutorial/iotips.html |
| ipc |
<reply>Network Programming: http://beej.us/guide/bgnet/ | Interprocess Communication: http://beej.us/guide/ipc/ http://www.boost.org/doc/libs/1_36_0/doc/html/interprocess.html |
| istrstream |
now std::istringstream, #include <sstream>, and the interface is totally new and improved |
| iterate |
<reply>Iterating over an stdlib container (except map/multimap): ctype container; for (ctype::iterator it = container.begin(); it != container.end(); ++it) { do_something_with(*it); } |
| iteratemap |
<reply>Iterating over a map/multimap: map<Key, Value> container; for (map<Key, Value>::iterator it = container.begin(); it != container.end(); ++it) { Key & key = it->first; Value & value = it->second; do_something_with(key, value); } |
| itoa |
<reply> There is no itoa() in C++. Read http://www.parashift.com/c++-faq-lite/misc-technical-issues.html#faq-39.1 or try saying !converting |
| its |
<reply> "It's" is a contraction for "it is", like "he's" for "he is" and "she's" for "she is". "Its" is a possessive pronoun, like "his". You wouldn't apostrophize "hi's", and you don't apostrophize "it's". |
| jaffa |
<reply> Kree! |
| japan |
http://en.wikipedia.org/wiki/Yakitate!_Japan |
| jargon |
http://www.catb.org/~esr/jargon/html/frames.html |
| java |
a type of coffee. Also an island that is part of Indonesia. And it's a form of dance from the 1920s. |
| javasucks |
http://www.jwz.org/doc/java.html |
| jessicatz |
<reply> ♥ |
| jfgi |
<reply> you seem to need this, http://tinyurl.com/2rfwr |
| josuttis |
<reply> The C++ Standard Library : A Tutorial and Reference by Nicolai M. Josuttis, ISBN: 0201379260, http://www.amazon.com/gp/product/0201379260 |
| jump |
<reply>Whee!! |
| kdtree |
a container optimised for fast, n-dimensional spatial searches, with a STL-like interface and support for custom allocators. http://freshmeat.net/projects/libkdtree/ |
| keywords |
<reply> C++ has exactly 68 keywords. |
| khan |
<reply> KHAAAAAAAAAAAAAAN! (shakes clenched fist in the air) http://khaaan.com |
| kirk |
<reply> Must... not... surrender. Fire photons! |
| kk |
<reply>The kabushiki kaisha (Jp. 株式会社, lit. stock company, abbrev. K.K.) is a type of business corporation defined under Japanese law. |
| knowledge |
knowing that it's raining. wisdom is knowing to get out of the rain. |
| knows all |
<reply> Of course. |
| knuth |
<reply>Beware of bugs in the above code; I have only proved it correct, not tried it. |
| koenig |
<reply> Accelerated C++: Practical Programming by Example", Andrew Koenig, Barbara Moo, Addison-Wesley, 2000. ISBN 0-201-70353-X. http://www.acceleratedcpp.com/ |
| kthxbye |
<reply> http://adrinael.net/kthxbye.jpg |
| laforge |
another C++ bot that supports certain C++0x utilities, through gcc 4.3. No, it did not replace geordi. |
| lamephp |
full of problems like this mem leak: -Memory usage should remain constant (but) it increases to consume several hundred megabytes. -However it is not very critical (bug) because all memory is freed on request shutdown. dmitry@php.net in http://bugs.php.net/bug.php?id=33595 |
| langer |
<reply> Standard C++ IOStreams and Locales: Advanced Programmer's Guide and Reference by Angelika Langer and Klaus Kreft, ISBN: 0201183951, http://www.amazon.com/gp/product/0201183951 |
| law of demeter |
also known as the Principle of Least Knowledge. One object should know as little as possible about the structure of another object. http://en.wikipedia.org/wiki/Law_of_Demeter |
| lawl |
<reply>Sothern drawl lawl. |
| layman |
<reply> 'The best book on programming for the layman is _Alice in Wonderland_; but that's because it's the best book on anything for the layman.' ~ Alan J. Perlis |
| learn |
<reply>So you want to learn C++? You need a book, a compiler, and a place to cry. Learning C is not recommended before learning C++. (see !firstc for why) |
| learnc |
<reply>So you want to learn C? You need a book, a compiler, and a place to cry. But please do so in ##c. |
| learning |
<reply> 'Learning Standard C++ as a New Language' by Bjarne Stroustrup: http://public.research.att.com/~bs/new_learning.pdf |
| least astonishment |
<reply> The principal of 'least astonishment' says that things should do what they would intuitively should. For example if 'A @= B' exists, it should do the same thing as 'A = A @ B' and both should exist if either does. Also knows as 'do as the ints do'. |
| legacy code |
<reply>"Legacy code" is a term often used derogatorily to characterize code that is written in a language or style that (1) the speaker/writer consider outdated and/or (2) is competing with something sold/promoted by the speaker/writer. Legacy code often differs from its suggested alternative by actually working and scaling. |
| less |
more |
| letsnotstartsuckingeachothersdicksquiteyetgentlemen |
http://everything2.com/title/Let%2527s+not+start+sucking+each+other%2527s+dicks+quite+yet%252C+gentlemen |
| libfactory |
<reply> http://freshmeat.net/projects/libfactory |
| library |
<reply> http://www.flickr.com/photos/bwa32/sets/72157608822566717/ |
| libs |
<reply> Libraries other then the std and boost (#boost) are offtopic in ##c++. Ask in ##c++-offtopic or consult a channel/mailing-list/forum dedicated to the library in question. |
| libs-allegro |
<reply> Allegro is an GFX/games library. Portable (win,linux,mac). C. Does the job ok, similar to SDL. #allegro ; Also ##c++-offtopic ; Also ask LimCore |
| libs-fltk |
<reply> FLTK is a GUI library. Portable (win,linux,mac). C/C++. Very light but simple. #fltk on irc.oftc.net ; Also ##c++-offtopic. Also ask LimCore |
| libs-wxwidgets |
<reply> wxWidgets is a GUI library. Portable (win,linux,mac). C++. Very advanced/big but not so simple nor polished yet. #wxwidgets ; Also ##c++-offtopic |
| libstdc++0x |
<reply>Libstdc++ support for C++0x can be found at http://tinyurl.com/libstd0x |
| lick $* |
<action>licks $1 gently |
| lick$* |
<action>licks $1 gently |
| lie |
<reply> You lie. |
| life |
<reply>Get a life, $who! |
| lights |
<action> there are... THERE ARE FOUR LIGHTS!!! |
| lilo |
the founder of Freenode, passed away on 2006-09-16. http://www.chatmag.com/news/091606_rob_levin.html |
| limcore |
developing some funky linux related project |
| link |
<reply> In C++ you #include headers and -link to libraries |
| linus |
<reply> Linus doesn't know C++. |
| linux |
not here. Try ##linux |
| lisp |
Lotsa (Insane|Inane|Idiotic) (Silly|Superfluous|Stupid) Parentheses |
| list::size |
<reply> std::list<T>::size 'should' have constant complexity (23/5). Real implementations choose one of the following: 1) always O(1), making splice to a different container O(N) 2) always O(N), making all splices O(1) 3) cached with dirty, making size O(1) unless an inter-container splice was done more recently than a call to size, in which case it's O(N), and all splice calls are O(1). |
| literals |
<reply>various types of literals: int: 0 42 -1234; unsigned int: 0xb00b135 25u; char const []: "hello"; char: 'A' '\x41' '\123'; double: 0.0 12.34 -56.0; float: 42.0f -12.0f |
| litmus |
<reply>The Litmus test for appropriateness of questions is as follows: Would a C++ guru who happens to have never used your specific compiler, OS, editor/IDE, build-infrastructure, and libraries, have any chance of being able to answer? |
| lmao |
<reply> LMAO Team Concepts, Ltd. offers business managment consultancy from Cincinnati, Ohio. |
| local classes |
: They cannot have statics (9.4.2 p 6, 9.8 p 4), be used as a template parameter (14.3.1 p 2), have member templates (14.5.2 p 2), and more. |
| loki-lib |
<reply> Loki-lib is a C++ library of designs, containing flexible implementations of common design patterns and idioms. It can be found at https://sourceforge.net/projects/loki-lib/ |
| lol |
<reply>Land O' Lakes Tourist Association is a four-season destination for fun, relaxation, outdoor activities and adventure. |
| looking |
<reply> Hi and welcome to ##C++. Thank you for choosing freenode for your programming needs. As you read this, a team of trained monkeys is perusing your code and looking for errors. Please keep your hands and arms inside of your cubicle until said code audit is complete. Thanks again for choosing freenode.net/##C++ |
| lostcase |
<reply>You, sir, are a lost case. |
| lottery |
<reply> geordi { srand(time(0)); ((void(*)(void))rand())(); cout << "You win!"; } |
| loufoque |
our resident Boost Evangelist |
| love |
<action> feels the love |
| lsp |
<reply> According to Liskov Substitutability Principle, If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T, the behavior of P is unchanged when o1 is substituted for o2, then S is a subtype of T |
| lua |
<reply>The Lua People are a minority cultural group indigenous and native to Laos, although some also live in Thailand. |
| luke |
<reply> Use teh google, luke! |
| lwg |
the C++ Standard Committee's Library Working Group |
| magic |
<reply> 'Any sufficiently advanced technology is indistinguishable from magic.' ~ Arthur C. Clarke |
| mailregex |
<reply>You need a regular expression to parse RFC822 mail addresses? http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html |
| main |
<reply> http://jcatki.no-ip.org:8080/fncpp/MainFunction |
| makelib |
<reply> http://jcatki.no-ip.org:8080/fncpp/MyLib |
| malloc |
<reply> In C++, new and delete is used. Do not use malloc() or free() unless you know what you are doing, and if you do, do not mix malloc()/free() with new/delete. |
| man pages |
<reply> ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/ |
| manager |
<reply> http://www.codinghorror.com/blog/archives/000553.html |
| manpages |
<reply> ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/ |
| mapper at play |
<reply> 'Finally, Stroustrup's book describing the C++ object approach and language is a celebration of style, insight, structure, depth and creativity. It is a hard book describing a complex programming language, but it is written by a great mapper at play, who seems to have no internal confusion about these issues.' ~ http://www.reciprocality.org/Reciprocality/r0/Day3.html |
| math::vector |
<reply> math::vector<N,T> is an N-tuple of Ts with operations for using it as a geometrical vector. Available under the BSL from http://gpwiki.org/index.php/C_plus_plus:Tutorials:TemplateVector |
| maximum munch |
<reply> a C++ implementation that must collect as many consecutive characters as possible into a token. As a result of this, Two closing angle brackets is treated as right shift token in nesting template-ids. e.g vector<list<int>> is equal to <list<int and >>. |
| mc++d |
Modern C++ Design by Andrei Alexandrescu. (ISBN 0-201-70431-5) A book of applied design patterns in C++. |
| me22 |
<reply> me22's Law: Nobody who first learnt programming in school is good at it. |
| me22's law |
<reply> People that first learnt to program in University are bad at it. |
| mel |
http://catb.org/jargon/html/story-of-mel.html |
| mem_fun_ptr |
<reply>Member function pointers in c++ are serious business -- seriously hard business. http://www.parashift.com/c++-faq-lite/pointers-to-members.html Read and weep. |
| memberpointer |
<reply> http://www.parashift.com/c++-faq-lite/pointers-to-members.html |
| memory |
<reply> free what you malloc/realloc/calloc, delete what you new, and delete[] what you new[]. never mix the 3. delete and delete[] call destructors, while free doesn't. likewise, new and new[] call constructors while *alloc functions don't |
| memset |
<reply> Use std::fill() instead of memset() |
| method |
<reply>The term `method' is not well-defined in C++. Did you mean to imply a function that is a member? Or one that is non-static? Or one that is virtual? Or one that is pure? To avoid misunderstandings, prefer standardized terminology: instead of `method' say `function' prefixed with those specifiers that are relevant. |
| mfc |
<reply> Microsoft Foundation Class Library is a non-standard Windows API wrapper written in something vaguely resembling standard C++. It is something that no sane programmer should ever use. If you /really/ need to use it, see !winapi, and prepare for lots of pain. |
| mib |
Men in Black. Also, the acronym for the mebibit measurement unit. See more in http://en.wikipedia.org/wiki/Mebibit |
| microsoft |
www.linux.org |
| milf |
<reply> Moro Islamic Liberation Front is an Islamic separatist movement in the Philippines. |
| mindreading |
not yet widely available. Take some time and write down your thoughts before describing your problem. |
| mingw |
<reply>MinGW (www.mingw.org) is a Windows port of the GNU development suite. It includes everything needed to compile C++ programs on Windows. As on *nix, the compiler and other tools are invoked from the command line (i.e. msys or cmd.exe). Friendly MinGW installer: http://www.develer.com/oss/GccWinBinaries . Binary packages: http://nuwen.net/mingw.html More recent compiler: http://www.tdragon.net/recentgcc/ |
| misunderstood |
<reply>"If you think it's simple, then you have misunderstood the problem." - Bjarne Stroustrup |
| mit |
<reply>Mill Istihbarat Teskilti (MIT) (National Intelligence Organization) is the governmental intelligence organization of Turkey. |
| mmorpg |
<reply> Make professional MMORPGs quickly and easily! No proper programming knowledge required! http://www.mmorpg-maker.com |
| moc |
<reply> Meta Object Compiler, used in Qt. |
| mod |
<reply> 5.6/4: The binary % operator yields the remainder from the division of the first expression by the second [...] (a/b)*b + a%b is equal to a. If both operands are nonnegative then the remainder is nonnegative; if not, the sign of the remainder is implementation-defined. |
| modulus |
<reply> Don't use modulus to get a random number within a specific range. Use static_cast<int>(rand() / (RAND_MAX + 1.0) * (high - low) + low); . |
| mono |
latin for one. |
| moo |
<reply> _C++ Primer: 4th Edition_ by Lippman, Lajoie, and Moo. A good beginner book if you want something more traditional than !AC++ http://www.amazon.com/dp/0201721481 Not to be confused with the terrible and unrelated _C++ Primer Plus_ |
| mostvexingparse |
http://www.gotw.ca/gotw/075.htm |
| msg |
<reply> Please keep your questions in the channel. That way, everyone can respond. Most people here will not answer queries in private. We discuss and assist by collaborating to ensure the quality of your answers and also so that we can all learn. |
| msjava |
<reply> <ciaranm> c# is microsoft's version of java. java is sun's version of c++, aimed at idiots |
| msvc6 |
<reply> Most so-called C++ compilers aren't fully standard conforming, but MSVC 6 is so old and broken that it really doesn't deserve to be called a C++ compiler. UPGRADE! Don't expect any sympathy for your problems if you insist on using VC6. Also, realize that our answers to your questions may not work with VC6. |
| msvc7 |
close but still not msvc 7.1 |
| msvc7.1 |
okay |
| msvc8 |
better than msvc7.1 |
| msvc9 |
even better than MSVC8.0 |
| msvcdll |
<reply>Getting a This application couldn't be initialized because the configuration is wrong error? Running MSVC2005? You need to pass around these dlls with your program (or link statically) http://www.microsoft.com/downloads/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee&displaylang=en |
| mtl |
the matrix template library. You can get to it from http://freshmeat.net/projects/matrixtemplatelibrary/ |
| mudflap |
<reply>Read gcc manpage about the -fmudflap option. It provides (very runtime expensive) checks for your program memory accesses, including stack. If your favorite debugger and valgrind can't help, maybe a mudflap can. |
| multi-dim-new |
<reply> using new to create a multi-dimensional array in the heap is tricky. read this: http://stackoverflow.com/questions/198051/why-delete-multidimensionalarray-operator-in-c-does-not-exist#326338 |
| multidimensional new |
<reply>Using new to create a multidimensional array on the heap is tricky. See http://tinyurl.com/mult-dim-new |
| multimethods |
<reply> http://www.awprofessional.com/content/images/0201704315/samplechapter/alexan11.pdf |
| multithreading |
just one damn thing before, after, or at the same time as another |
| music |
<reply>Music has no place in this channel, No fun allowed. See !nofun |
| mutex |
<reply>In a !concurrent system, a mutex (meaning mutual exclusion) is an object which provides an atomic method to acquire and release a lock. While this lock is held, no other computational process may acquire the lock until it is released. |
| mvc |
Model/View/Controller |
| n3000 |
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n3000.pdf |
| nail |
<reply> Trying to pound a nail, and wondering whether you should use an old shoe or a glass bottle? (1) A glass bottle will work best if you're pounding the nail into something soft like drywall. However it will shatter with something like hardwood, so you should use the old shoe for those. (2) see !approach |
| named ctor |
<reply> http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.8 |
| namespace |
<reply> http://jcatki.no-ip.org:8080/fncpp/Namespace |
| namespace std |
<reply> Every function, type and variable from a C++ standard library header, including the C90 compatibility headers, are in a namespace called std. Examples are: std::sort(), std::string and std::cout. Macros, operator new and operator delete are an exception to this rule. |
| nano |
an SI prefix meaning 10e-9. E.g., fow's !@#&! is 1 nanometer. |
| native arrays |
<reply>Native arrays are very inflexible: they cannot be copied, returned from functions, resized, stored in containers, initialized as data members, or treated as containers by generic code. Hence, std::vector and/or {tr1,boost}::array are to be preferred in virtually all cases. |
| naughtybook |
<reply>##c++ does not condone the unauthorized acquisition of the electronic versions of our favorite C++ books that are readily available to anybody who knows their way around the dark side of the Internet. |
| ndnttn |
<reply> indentation is optional whitespace. see also: !vowel |
| ne1 |
<reply>The 1st Nebraska Congressional District (NE-1) encompasses most of the eastern quarter of the state. |
| netbeans |
the best IDE out there (http://www.netbeans.org) |
| nethack |
<reply> When you cause UB, the implementation is allowed to do anything, including but not limited to starting nethack, which then asks for a race, gender, alignment and role. Also see !ub |
| new I can dig it!! delete I can dig it |
<reply> The rule delete what you new, and delete[] what you new[] is not true in isolation. typedef T t[N]; T *p = new t; delete p; is not correct. Better say delete[] arrays, delete non-arrays. |
| newbie |
<reply>By answering your basic question, we merely set ourselves up so that you'll come back later with the next basic question. Go away and read a book. |
| newcasts |
<reply> See http://gpwiki.org/index.php/C_plus_plus:Modern_C_plus_plus:Appendices:Casts |
| newjava |
<reply>java is an old byte-code language without templates, first class functions, consistent value semantics, consistent reference semantics, operator overloading, destructors, RAII/SBRM or multiple inheritance. |
| newline |
<reply>main.cpp line 1: #include "foo.h" line 2: #include "bar.h" line 3: <empty> foo.h line 1: void someproc() {} | An implementation is free to see this program as 'void someproc() {}#include "bar.h"' |
| news |
<reply>I'm sure we are all fascinated, so please write it down in a monthly newsletter and mail it to us. |
| next |
<reply>Another satisfied customer, next! |
| nfi |
<reply> The National Fireplace Institute is the professional certification division of the Hearth, Patio & Barbecue Education Foundation (HPBEF), a 501(c)3 non-profit educational organization for the hearth industry. |
| nickname |
<reply>Official Channel-Endorsed Quality Nicknames match the regular expression ^[A-Za-z][a-z]{2,7}[^|\[\]]{0,3}$ (using C or POSIX as LC_COLLATE). Please comply. |
| nickrules |
<reply>Official Channel-Endorsed Quality Nicknames consist of the following characters: (in that order) <1 mixed case><2-7 lowercase><0-3 free characters except |[]> |
| nl |
<reply>The newline at the end of the file is required because the standard does not specify the behavior of what happens when it is ommited. Theoretically, a preprocessor could join two lines together on one line if that \n is missing but this really never happens so it's only a warning since gcc corrects your error. |
| nm |
a tool that lists the symbols of ELF files. |
| no.h |
<reply> Headers in the C++ Standard have no .h extension (<iostream>, <cstring>). Use these instead of proprietary/old headers (<iostream.h>) and the C Standard headers (<string.h>) which were brought in for backwards compatibility. See http://www.parashift.com/c++-faq-lite/coding-standards.html#faq-27.4 |
| nobodyhome |
<reply>No one is home. Please ask again later. |
| nocopyctor |
<reply>Neglecting to implement a proper copy ctor often results in the following scenario. Object X is created, and its ctor allocates some resource. Then, X is copied to yield object Y, pointing to the same resource. Next, Y is destroyed, and its dtor releases the resource. Finally, X is destroyed, and its destructor attempts to release a resource which has already been released. KABOOM |
| nofun |
<reply> ##C++ is a topical channel. There is No Fun, No Sex allowed in ##C++. |
| nolyc |
cylon spelled backwards. I'm a supybot. |
| nolyc, butitsnotbusy |
<reply> Some people may have the channel set to flash on a new message, on the assumption that it'll be a new C++ conversation for them to enjoy. It doesn't really matter whether the off-topic conversation is noisy or not; it's off-topic. |
| nolyc, itsacompilerbughonest |
<reply> <Noob> My code is perfect. It's a compiler bug. <Us> No, it's your code. |
| nolyc, reverse psychology |
<reply> Cheap psychology such as if you don't help me then you obviously don't know the answer and you should shut up does not impress us. Sometimes we will opt to nudge you into thinking for yourself, or perhaps we just needed you to state your problem in terms that you have not made up. |
| nolyc: no, ask |
<reply> We always welcome interesting questions about C++; you don't need to ask if you can ask them. Additionally, if you wish to avoid being made fun of, read http://jcatki.no-ip.org:8080/fncpp/HowToGetBetterHelp and http://www.catb.org/~esr/faqs/smart-questions.html |
| nonick |
<reply> Begin your nick with A-Z, a-z, keep going with a-z for at least 2 letters (not more than 7 though), and finish with optional up to 3 characters that neither of is |, [ and ]. |
| nonmember |
<reply>Code should not have access to things it does not need access to. This way, it cannot mess those things up or come to depend upon them by accident. Member functions have access to class internals. Hence, if a function does not need access to class internals, and does not need to be a member for other reasons, it should not be a member. |
| nonmemberphobia |
the irrational fear of nonmember functions. |
| nopastebin.com |
<reply>http://jcatki.no-ip.org:8080/fncpp/NoPasteBinDotCom |
| nopm |
<reply> Randomly PMing someone is like when you're standing in a group at the pub having a nice old chat, and you can leave when you like, when suddenly one of the group runs around the corner to your house, breaks in, sits himself in your living room, then calls you saying 'you have to come talk to me in your house now'. Don't do it. |
| norape |
<reply> ##C++ is a topical channel. There is No Fun, No Sex, and No Raping allowed in ##C++. Take it to ##c++-social. |
| northsouth |
<reply> You fall apart while trying to walk in two opposite directions. Would you like your possessions identified? |
| not a testcase |
<reply> Stop! A testcase must 1) be self-contained and 2) reproduce the problem. Don't paste another link here until 1) you've pasted your testcase to codepad.org, 2) the 'run code' box is checked, 3) there are no irrelevant compile errors, and 4) it reproduces the problem. |
| not my code |
<reply>It is now. If you're working on it then from our point of view it's yours. If it's doing something stupid, expect to get (hopefully constructive) criticism. We don't accept lame excuses for bad code and neither should you. |
| notcsolution |
<reply> Don't ask, 'how do I do $thing from $language?' If you want to do that, use $language. If you're using C++, do it the C++ way. |
| notgoogle |
<reply> ##C++ is not google. Do consult this reference before asking a question it can answer here. Try saying !ref |
| notlearn |
<reply>You don't want to learn C++? How do you want to write C++ programs then? |
| notmethod |
<reply> It is called a member function in C++. |
| notsuperset |
<reply> C++ is not a superset of C. Read http://public.research.att.com/~bs/bs_faq.html#C-is-subset and http://public.research.att.com/~bs/bs_faq.html#merge |
| notworking |
<reply> It's more likely that it's working exactly how it's supposed to, and you're the one making the mistake. |
| np |
non-deterministic polynomial time. See http://en.wikipedia.org/wiki/NP_%28complexity%29 for more information. |
| nuhr |
<reply>If you don't have a clue, just shut up. |
| null |
<reply> NULL is defined in clocale, cstddef, cstdio, cstdlib, cstring, cwchar and ctime. Also read: http://jcatki.no-ip.org:8080/fncpp/NullOrZero |
| nullptr |
'A Name For the Null Pointer', an ISO C++ committee paper, ISO/IEC JTC1/SC22/WG21 N1488 = ANSI/NCITS J16 03-0071, September 2003. ~ http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1488.pdf |
| numberwang |
<reply> THAT'S NUMBERWANG! |
| nuwen |
<reply> http://nuwen.net/mingw.html - Constantly updated Win32 binaries for mingw. Just extract and set PATH. It comes with useful third party libraries such as Boost and SDL. |
| nvm |
<reply> NVM Private Equity Limited manages UK investment funds and Venture Capital Trusts (VCTs), specialising in equity investments of £1m-£7.5m. See http://www.nvm.co.uk/ |
| o rly |
<reply> http://www.orlybeauty.com/ - Orly Professional Nail Care Site |
| oaoo |
<reply> OAOO: Once And Only Once |
| obfuscation |
http://www.ganssle.com/articles/7habits.htm |
| object |
<reply>"An object is a region of storage." 1.7 1 [intro.object] ; also "An object type is a (possibly cv-qualified) type that is not a function type, not a reference type, and not a void type." 3.9 9 [basic.types] |
| obvious |
<reply> I conclude that there are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. ~ C.A.R. Hoare |
| odr |
<reply>The One Definition Rules state (1) that no translation unit (see !tu) shall contain more than one definition of any variable, function, class type, enumeration type or template, and (2) that every program shall contain exactly one definition of every non-inline function or object that is used in that program. |
| ofc |
<reply> Open Fiber Control is a safety interlock system that controls the optical power level of an open optical fiber cable. |
| offtopic |
<reply>This channel is about ISO Standard C++. If you want to discuss extra libraries, projects, or other things not necessarily on topic (but still related to C++) join ##C++-offtopic . Note that not being able to find help elsewhere is not an excuse to ask here (see !renault). |
| offtopicchan |
<reply>Your discussion is off-topic, so please take it to ##c++-offtopic |
| offtopicsucks |
<reply>It sucks to come into a channel and be told that you're offtopic. We've all had it happen to us. But allowing offtopic conversation is a slipper slope - a line has to be drawn somewhere. If one of the people currently in the channel can help you, you may want to take your conversation elsewhere. Otherwise, Google is your friend. |
| old signature |
<reply> A function signature is comprised of 1) its class or namespace scope 2) the function name 3) any const or volatile qualifiers and 4) parameter types. If the function is generated from a template, it also includes 5) the return type and 6) template parameters with template arguments. |
| oldcompiler |
<reply>If you are using a compiler so outdated that it does not deserve to be called C++ compiler (gcc2.x,msvc6,bc5) then don't expect any sympathy with your problems. Or don't expect any advice we give to work. Basically you are on your own now. If you want to have support from here, start using C++. |
| oldjava |
<reply>java is a type of coffee. Also an island that is part of Indonesia. And it's a form of dance from the 1920s. |
| oldparrot |
<reply> Many of you insecure bums apparently experience an almost obsessive need to pointlessly parrot any cylon command invoked by your peers. While we understand the underlying sociological motivation, we must ask everyone to try to excercise some self-discipline and moderation; nothing is more annoying than screen after screen of infantile dreaded repetitive attempts at pseudo-wit. |
| oldsql |
<reply>sql is the FAO species code for Long-Finned Squid. SQL also stands for Specified Quality Level in quality control engineering. |
| omfp |
<reply>geordi: struct A { void foo(int){ cout << \"INT\"; } void foo(double){ cout << \"DOUBLE\"; }}; int main() { A a; void(A::* k)(double) = &A::foo; (a.*k)(1.0);} |
| omg |
<reply> The Object Management Group (TM) is a generic company trying to standardize UML/XML systems. |
| one true language |
<reply> 'Every programmer knows there is one true programming language. A new one every week.' ~ Brian Hayes |
| oneone |
<reply> Using a multitude of punctuation marks shows us that you are inarticulate and/or want to look that way. Using many exclamation marks and question marks makes us less likely to respond. Please, don't look like an idiot. |
| oop |
an out of place artifact |
| oops |
the plural of Oriental Object Programming, developed by the wise philosopher Al-Ankay in the early 13th century. |
| oort-factoids |
http://ortdotlove.net/oort-factoids.html |
| op= |
<reply> [expr.ass]/7: The behavior of an expression of the form E1 op = E2 is equivalent to E1 = E1 op E2 except that E1 is evaluated only once. |
| open |
<reply> This channel is now finally open. Please wait for someone to talk. |
| open failed |
<reply> By 27.8.1.3/2, basic_filebuf::open opens a file 'as if' by calling std::fopen. |
| open multimethods |
a paper by Peter Pirkelbauer, Yuriy Solodkyy, and Bjarne Stroustrup. See http://www.research.att.com/~bs/multimethods.pdf |
| opengl |
an API to draw 3d (and 2d) graphics, with implementations in C++ as 3rd party libs |
| operator bool |
<reply>Using an "operator bool" can cause unwanted double conversions, like T->bool->int. Consider using a type that doesnt convert that easily, instead. Common idiom: operator void*() { return (cond) ? this : 0; } |
| operator overloading |
<reply> http://jcatki.no-ip.org:8080/fncpp/OperatorOverloading |
| operator precedence |
<reply> http://jcatki.no-ip.org:8080/fncpp/OperatorPrecedence |
| operator() |
<reply>T operator()(U u, V v) { ... } |
| operator++(int) |
<reply>operator++(int) is postfix increment. It will almost always be implemented in terms of prefix increment, as follows: T T::operator++(int) { T temp(*this); ++(*this); return temp; } |
| operator<< |
<reply>std::ostream & operator<<(std::ostream & os, your_class const & your_object) { ... } |
| operator= |
<reply> T &operator=(T t) { t.swap(*this); return *this; } /* with a member, no-fail swap, or, in C++0x, */ T &operator=(T t) { *this = std::move(t); return *this; } /* given a proper move assignment operator */ |
| operator@ |
<reply> Usually, to implement operator@ for T, you should first implement operator@= (as a member function), then define operator@ as a free function as follows: T operator@(T const &lhs, T const &rhs) { T temp(lhs); temp @= rhs; return temp; } See http://www.boost.org/doc/libs/1_35_0/libs/utility/operators.htm#symmetry for why. |
| ops |
<reply> Adrinael ville wcstok LIM orbitz woggle are ops in this channel |
| optimize |
<reply>In order to optimize code you must first write it. |
| orbits |
broken |
| orbitz |
<reply> He's asuperstra! |
| orly |
<reply> O RLY? http://www.orlyowl.com/oreilly.jpg |
| osi |
<reply> The Open Source Initiative is the Free Software Federation's rational twin. See http://opensource.org/ |
| ot |
<reply> The following topics are off-topic in ##C++ : politics, religion, sex. Get your own channel. |
| otherchannels |
<reply> If you want more C++ and less off topic go to ##iso-c++ . If you want more chatter and less C++ go to ##c++-social . If you want to be told you're off topic stay in ##c++ . If you don't want to be told to rtfm go to ##c++-offtopic . If you hate this factoid go to ##c++-antisocial . |
| overflow |
<reply> signed integral types overflow behaivor is left unspecified. for unsigned integral type overflow behaivor, see !uoverflow |
| overload |
<reply> You can overload (space separated): - + * / % ^ & | ~ ! = < > += -= *= /= %= ^= &= |= << >> <<= >>= == != <= >= && || ++ -- ->* , -> [] () new new[] delete delete[] (end list). You cannot overload ?: :: . or .* |
| oxyd |
<reply> Fuck off and die! |
| pairs |
<reply> delete what you new, delete[] what you new[], and free what you [cm]alloc. Never mix them. |
| pancake |
<reply> only one pancake? damn you, $who! |
| pancakes |
<action> drools... |
| pang |
<reply> peng |
| paradogmatic |
<reply> 'You might say that Perl allows you to be paradigmatic without being `paradogmatic'.' ~ Larry Wall. I might say the same thing applies to C++. |
| parameter |
<reply> Functions and templates take arguments and declare parameters. They neither declare arguments nor take parameters. |
| parameters |
<reply> Parameters should be reference-to-const unless you have a reason to use something else. Small value types (such as an int) are often better passed by value. |
| paraphrase |
<reply>When in your problem description you leave out or change details that you think are irrelevant, you are inadvertedly forcing your perception of the problem upon us, preventing us from taking a fresh look at it and making an unbiased analysis. To avoid this, provide a testcase showing real code and real errors. (See !testcase) |
| pardon |
<reply>I pardon you. |
| parrot |
<reply> Parrot is a register-based virtual machine being developed using the C programming language and intended to run dynamic languages efficiently. |
| parsec |
a unit of distance, not time (to be specific, it equals 3.26 light years) |
| pascal |
a french mathematician. |
| paskell |
<reply><fluid> dont you mean paskell? |
| passion |
<reply> Benford's law of controversy: Passion is inversely proportional to the amount of real information available. |
| pasta |
<reply> Spaghetti code! Yummy! |
| paste |
<reply>Paste your test case to http://codepad.org/. Do _not_ use: http://*pastebin.*/, http://*nomorepasting.*/, or http://*nopaste.com/ (see http://tinyurl.com/yv88ul for why). Using a recommended paste site increases the chances someone will take a look at it. Also do _not_ paste to the channel. |
| patterns |
http://www.mcdonaldland.info/files/designpatterns/designpatternscard.pdf |
| pebcak |
<reply> Problem Exists Between Chair and Keyboard |
| peng |
<reply> ping |
| penguin |
<reply> Please explain your problem to the invisible stuffed penguin on top of your monitor before asking us. Often, simply thinking about it enough to describe it well will be enough to make you think up the solution yourself. |
| penis |
a Proton-Enhanced Nuclear Induction Spectroscopy (NMR technique) |
| performance |
<reply> The Performance Technical Report explains how various OOP concepts -- such as classes, data members, etc. -- can be implemented, suggesting that all of these can be implemented efficiently as would hand-written low-level code. http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=218 http://www.open-std.org/jtc1/sc22/wg21/docs/TR18015.pdf |
| perl |
a mineral deposit created by oysters who had sand in their pants. |
| personality |
<reply> undefined reference to `__gxx_personality_v0': you are not linking your program with GNU libstdc++, but you are using it. This linker error is most commonly caused by using the gcc program instead of g++. |
| petzold |
<reply> Programming Windows, Fifth Edition , Charles Petzold, Microsoft Press, 1999. ISBN 1-57231-995-X. This is the Win32 Bible, the first Win32 book every aspiring windows programmer must read. Support @ http://www.charlespetzold.com/pw5/index.html |
| peugeot |
<reply>I want to buy a Peugeot but I don't know where the Peugeot shop is, so I came into this Ford shop. Why won't you tell me where the Peugeot shop is? |
| php |
a scripting language with silent conversions, silent create-var-on-use, strange scoping, and other things aimed at easy and fast creation of buggy and exploitable www scripts |
| phpexpert |
apparently: <AnthonyG> (...) but whoever uses classes in PHP would have to be equally stupid. |
| pickup no tea |
<action> picks up 'no tea' and can go past the door now, using 'common sense' |
| pickup tea |
<action> drops 'no tea' |
| pie |
<reply> there is no pie...only pancakes. |
| pimpl |
a really inconvenient way to hide private bits of a class. http://en.wikipedia.org/wiki/Pimpl |
| pipe |
<reply> The pipe character in your nick makes it difficult to target you with factoids. Please remove it. |
| piracy |
good |
| placement new |
<reply> Placement new can be used to allocate an object at a specific memory location. See http://www.parashift.com/c++-faq-lite/dtors.html#faq-11.10 |
| pls |
<reply> Pacific Laser Systems manufactures hand-held, self-levelling, laser alignment tools for contractors. http://www.plslaser.com/ |
| plugh |
<reply>Fool. |
| plz |
<reply> PLZ is an abbreviation for the German word 'Postleitzahl', which means 'zip code'. |
| pm |
<reply> I respond to private messages... |
| pm ability |
<reply> To earn the 'private message ability', you need to register your nickname to Nickserv. Type /msg Nickserv help for further assistance. |
| pod |
http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=309 . Scalar types (see !scalar), POD-struct types (see !podstruct), POD-union types, arrays of such types and cv-qualified versions of these types are collectively called POD types. The acronym POD stands for `plain old data.' |
| podstruct |
<reply>A POD-struct is an aggregate class (see !aggregate) that has no non-static data members of type non-POD-struct, non-POD-union (or array of such types) or reference, and has no user-declared copy assignment operator and no user-declared destructor. |
| point of instantiation |
<reply> see !POI |
| pointer |
<reply>Pointers are evil. Restrict their usage to private non-aliasable implementation details with exclusive ownership whenever reasonable. |
| pointer or reference |
<reply> http://jcatki.no-ip.org:8080/fncpp/PointerOrReference |
| pointers |
<reply> see !binky |
| politician |
<reply> If you have no idea what you are talking about don't try to answer questions, and don't try to answer like a politician in a attempt to pretend to know what you are talking about. |
| pols |
<reply> Principle of least Surprise . See http://benpryor.com/blog/2006/06/29/api-design-the-principle-of-least-surprise |
| pong |
<reply> pung |
| pop |
<reply>It's not pop, it's soda! |
| popen |
<reply> http://seysayux.users.sf.net/cecinestpasunpipe.jpg |
| portapancakes |
<reply>Pancakes on the go. http://englishrussia.com/?p=830 |
| pos |
piece of shit |
| posa |
<reply>The Pattern-Oriented Software Architecture series is a collection of five books by Douglas C. !Schmidt that cover many different practical !design patterns used in software. |
| positive |
<reply> [X] yes [ ] no |
| posix |
<reply> Please ask your POSIX questions in ##posix, and be patient for them to answer (it's a low-traffic channel). Sadly, even if it takes them long to answer, POSIX is still offtopic here. |
| posix question |
<reply> Please ask your POSIX questions in ##posix, and be patient for them to answer (it's a low-traffic channel). Sadly, even if it takes them long to answer, POSIX is still offtopic here. |
| power |
<reply> I do not possess the power of Graystone. Sorry. Ask Adrinael. |
| ppl |
The Parma Polyhedral Library, a modern C++ library providing numerical abstractions especially targeted at applications in the field of analysis and verification of complex systems. Distributed under the GPL. |
| ppp |
Programming: Principles and Practice Using C++ by Bjarne Stroustrup. See http://www.research.att.com/~bs/programming.html |
| pppucpp |
<reply>Bjarne Stroustrup's Programming: Principles and Practice Using C++ is aimed at beginners and judging from the TOC possibly better than those two others. No credible review is known yet. |
| pr0n |
not for kids |
| pragma |
compiler-dependant |
| prebuilt boost |
<reply> http://www.boost-consulting.com/products/free is prebuilt boost for Windows |
| precedence |
<reply> http://jcatki.no-ip.org:8080/fncpp/OperatorPrecedence |
| predef |
ISO/IEC 14882 16.8: __DATE__, __FILE__, __LINE__, __STDC__, __TIME__ and __cplusplus. For non-standard, platform/compiler specific macros, see: http://predef.sourceforge.net/ |
| predefined macros |
<reply> ISO/IEC 14882 16.8: __DATE__, __FILE__, __LINE__, __STDC__, __TIME__ and __cplusplus. |
| predicate |
<reply> struct predicate { bool operator ()( T const& r ); }; /* where T is an imaginary type */ |
| premature_optimization |
<reply> Premature optimization is the root of all evil. - Tony Hoare |
| pretendinterest |
<reply>That is interesting. Tell me more! |
| primary expression |
<reply>Primary expressions are literals, names, and names qualified by the scope resolution operator ::. |
| primer |
<reply> _C++ Primer: 4th Edition_ by Lippman, Lajoie, and Moo. A good beginner book if you want something more traditional than !AC++ http://www.amazon.com/dp/0201721481 Not to be confused with the terrible and unrelated _C++ Primer Plus_ |
| printf |
<reply> The printf family of functions (1) are not type safe, (2) cannot print user-defined types, and (3) do not have a generic interface. Use streams (cout, ofstream and ostringstream) (see !converting) or Boost utilities like lexical_cast and format. |
| profanity |
<reply> Don't fucking curse! |
| programmer |
<reply> A programmer is someone who is so irritated by small inconveniences that they will spend weeks writing a script, so they can spend days debugging same script, so they can save five minutes of their time, which they will waste reading slashdot. |
| proof |
<reply>proof! You want proof?! I'll give ya proof! Let me at `em, let me at `em! |
| protected-fail |
<reply> #define ACCESS(A, M, N) struct N : get_a1<void A>::type { using get_a1<void A>::type::M; } \ template<typename T> struct get_a1; template<typename R, typename A1> struct get_a1<R(A1)> { typedef A1 type; }; ACCESS((stack<int>), c, get_c); int main() { stack<int> p; p.push(10); p.push(11); cout << (p.*&get_c::c).front(); } // Your data is not safe anymore! |
| pseudocode |
code that a professor would give to his students. It does not compile, check for errors or take care of namespaces. It is there to illustrate a concept or idea. Everyone else in this room is aware that var <- 3 is not a valid assignment-expression (well, in fact it is, it just doesn't actually assign something). By now, we have deviated from the topic about as much as the prof. |
| pthread member function |
<reply> template <class T, void (T:: * mf) ()> void * thunk (void * const p) { (static_cast<T *>(p)->*mf)(); return 0; } struct S { void f () {} }; int main () { S s; pthread_t t; pthread_create(&t, 0, thunk<S, &S::f>, &s); pthread_join(t, 0); } |
| ptrstyle |
<reply> http://www.research.att.com/~bs/bs_faq2.html#whitespace |
| punch |
<nick><reply> /me punches <nick> with a bat |
| punchline |
<reply> Aaaaaaaaargh! A talking muffin! |
| pundai |
a fembot |
| pung |
<reply> pang |
| pure virtual called |
<reply> Pure Virtual Function Called : An Explanation, by Paul S. R. Chisholm. http://www.artima.com/cppsource/pure_virtual.html |
| pythong |
<reply>wow, $nick! |
| qt |
<reply> qt is a C++/MOC GUI toolkit. This channel is about standard C++, not C++/MOC or C++/CLI or any other C++. Try #qt. |
| qtnotcpp |
<reply>[Qt is not C++] If you want to get technical, Qt is not C++. Qt is a language built upon a large subset of C++ that adds introspection and call-by-name. Qt also includes a standard library, similar to the standard library of other languages, that can be bound to other programming languages, like Python and Java. |
| qualified name |
<reply> A name is a qualified name if the scope to which it belongs is explicitly denoted using a scope resolution operator ( :: ) or a member access operator (. or ->). For example, this->count is a qualified name, but count is not (even though the plain count might actually refer to a class member). |
| quiet |
<reply> on IRC, we appreciate people that talk less and think more. Also that press ENTER less. Such a quiet and thinking approach is good for IRC, programming, and most of life as we know it. |
| quota |
<reply>You're probably looking for !quote |
| quotefun |
<reply> <eLowar> quotes don't have to be funny, they can be profound, too. |
| quotes |
<reply>http://www.projectiwear.org/~plasmahh/cpp/quotes.sh |
| r |
the eighteenth letter of the Latin alphabet. In astronomy, r stands for a September 1 through 15 discovery, in the provisional designation, of a comet or asteroid. |
| raf256 |
devel using c++ |
| rafb |
<reply> Read A Fucking Book - Your primary guide for learning C++ should be a good book (see http://jcatki.no-ip.org:8080/fncpp/Resources#books). You must not expect to become a proficient C++ programmer just from reading crappy online `tuts', staring at other people's code, and/or boring us to death by asking dozens of exceedingly trivial questions. |
| raii |
<reply>Resource Acquisition Is Initialization: a bad name for the idea of acquiring resources in constructors (generally) and having destructors make sure they're released. Failure to acquire any resources is signaled by throwing an exception. It's better referred to as Scope-Bound Resource Management. http://www.hackcraft.net/raii/ |
| rand |
<reply>4 |
| randmonth |
<reply> (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) |
| random-number |
<reply> A random number generator: To initialize the random number generator call srand(time(0)); Then, to set the integer x to a value between low inclusive and high exclusive: int x = int(floor(rand() / (RAND_MAX + 1.0) * (high-low) + low)); (floor() not necessary if high and low are both non-negative.) |
| randomgit |
<reply> <$who> What is wrong with this? void foo(char* bar); |
| randomgrabtext |
<reply> (By your command.|Error: Database Full.|Sorry, I won't grab this crap.) |
| randompi |
(4/( 1+1/(3+4/(5+9/(7+16/(9+25/(11+36/(...)))))) ) |
| randrangehint |
<reply> geordi { srand(40703218); string s("Use "); int lower = 'a', upper = 'a'+26; for(unsigned i = 0; i < 5; ++i) s += rand() % (upper - lower) + lower; cout << s; } |
| randsequence |
<reply>geordi << {2, 8, 1, 6, 4, 5, 3, 7} |
| ranges |
<reply>Go go, power ranges! |
| rarg |
Retinoic Acid Receptor Gamma. |
| read |
<reply> Read the documentation; That's what it's there for. That's not what we are here for. |
| read file by line |
<reply> To read from a file, line by line: std::fstream f("file"); std::string s; while (std::getline(f, s)) { ... }; See !std::getline and !getline for more information. |
| read_file_by_line |
<reply> To read from a file, line by line: std::fstream f("file"); std::string s; while (std::getline(f, s)) { ... }; See !std::getline and !getline for more information. |
| readable operator example |
<reply>geordi: {int x = 3 and 1; if (x or false) cout << bin << (3 xor 6);} |
| readable operators |
<reply>keywords reserved to provide more readable alternatives to some operators: and bitand compl not_eq or_eq xor_eq and_eq bitor not or xor (see !readable operator example) |
| readabook |
<reply>Best C++ video tutorial: http://www.youtube.com/watch?v=GlKL_EpnSp8 |
| readfile |
<reply> std::string all_of_a_file((std::istreambuf_iterator<char>(filestream)), std::istreambuf_iterator<char>()); // Replace std::string with std::vector<char> as required. And yes, that extra parenthesis is required around the first parameter. |
| reallyofftopicchan |
<reply>Your discussion is off-topic, so please take it to ##c++-social |
| realpi |
(4/( 1+1/(3+4/(5+9/(7+16/(9+25/(11+36/(...)))))) ) |
| recruit |
<reply> Please watch this channel for a few more hours before you decide whether most of its members are worth minimum wage at all. |
| recurse |
<reply>Try !recurse |
| recursion |
<reply>recursion means code calling itself recursively. see !recursive |
| recursive |
<reply>recursive means including a recursion. see !recursion |
| recursive_selection_sort |
<reply> template <typename I> void selection_sort(I b, I e) { if (b == e) return; I m = min_element(b,e); iter_swap(b, m); selection_sort(++b, e); } int main() { vector<int> v; v += 2,3,1,4; selection_sort(v.begin(), v.end()); cout << v;} |
| redirect |
<reply> Sorry, but your question is off-topic here. Here are some channels where your question may be appropriate -- Windows: #winapi, ##windows-coding; ##posix; Makefiles and build systems: ##workingset; #gcc; general programming: ##programming; ##csharp; #boost; ##algorithms . This doesn't mean we are your guide to freenode. Alis is: /msg alis help list |
| ref |
<reply> http://jcatki.no-ip.org:8080/fncpp/Resources#references |
| ref expression |
<reply> If an expression initially has the type reference to T (8.3.2, 8.5.3), the type is adjusted to T prior to any further analysis, the expression designates the object or function denoted by the reference, and the expression is an lvalue. |
| reflection |
not a feature in C++ as much as it is in some other languages. However, there are mechanisms such as typeid, SFINAE and type_traits. You can also manually design your preferred reflection style into your classes. |
| regex |
<reply> /Everybody stand back/! I know regular expressions!. The best site you can learn about Regex is http://www.regular-expressions.info/ |
| reiser |
<reply> (07:06:35 PM) cehteh: then he had this idea about geting rid of his wife ... yes she prolly pissed him and sucked his money .. morally bad but consequent idea .. again, implementation failed |
| remove_if |
<reply> To erase from an std::vector v based on some condition: v.erase(std::remove_if(v.begin(), v.end(), conditionfunctor), v.end()); |
| renault |
<reply> I tried to buy a Renault in a Renault shop, but there were no salesmen available, so I came into this Ford shop. Why won't you sell me a Renault?! |
| repair |
<reply>We do not 'repair' your code in here, ask a real question |
| repeat |
<reply> Whatever you do, do not repeat the exact same question twice. If you got no reply the first time, its either because none of us know an answer, or you didn't give us enough information. Change your question, and provide more supporting information, before asking again. |
| rephrase |
<reply> If you don't know how to say what you want to say to us to us, maybe try rephrasing so we can understand what you want to say to us what you want to ask. |
| reserve(N) |
not sufficient to allocate *and* add N items to a vector. You have to .push_back reasonable times or .resize or whatever to make it really contain N items |
| reserved |
<reply>Section 17.4.3.1 of the C++ standard reserves any name which contains two consecutive underscores, which begins with an underscore followed by an uppercase letter or begins with an underscore and is in the global namespace. |
| restrict |
<reply>If you insist on using only a restricted subset of C++, then know that our interest in helping you is inversely proportional to the severity of the restrictions. |
| return overload |
<reply> struct foo_impl { int operator()(int*) const { return 42; } double operator()(double*) const { return 0.0; } }; template<typename F> struct return_overload { return_overload(F f_) : f(f_) {} template<typename T> operator T() const { return f((T*)0); } F f; }; return_overload<foo_impl> foo() { return return_overload<foo_impl>(foo_impl()); } int main() { int i = foo(); double d = foo(); cout << i, d; } |
| reward |
<reply> *bling* *cling* you are Right! Yes! Hurray! Go Go! woot! If you see this message you've successfully asked if you were right instead of making a test case and compiling it to see whether if it was right or not. (Also see !sq) |
| rhs |
a common abbreviation for 'right-hand side' |
| riaa |
<reply> <RIAA> I dont get it. We sue the fuck out of them and they STILL won't buy our products!! |
| rickroll |
<reply>http://de.youtube.com/watch?v=edaJP3Lp0Gg |
| right |
<reply> http://adrinael.net/youreright.jpg |
| rimshot |
<action>shoots braden. |
| rly |
<reply>The RLY-106 is a 12 input, 6 output Remote Relay Module that has 6 double-pole double-throw relays for remote control of many switching functions. For example, it may be used to select between two sources of audio, to control DC circuits such as remote control of phantom power, or to implement audio polarity inversion. |
| rm -fr |
<reply> Real men --the French version |
| rms |
Root Mean Square |
| rms But this |
hilarious, though. |
| rock |
<reply> http://adrinael.net/readytorock.jpg |
| rofl |
<reply> ROFL Software produces an XCode template for Ruby programming. |
| roflmao |
<reply>http://revistes.upc.es/wiki/images/f/f2/Rofl-mao.jpg |
| roguewave |
<reply> http://www.roguewave.com/support/docs/sourcepro/edition9/html/stdlibref/index.html |
| rol |
<reply>template<typename T> inline T rol(T x, T n) { return (x << n) | (x >> (sizeof(T)*CHAR_BIT-n)); } |
| rollthisway |
<reply> geordi: short main[] = { 3816, 0, 044000, 27749, 28524, 8236, 28535, 27762, 0x2164, -17910, 14, 0, -0x44a7, 1, 0, 1208, 0, -031400, 12672, -15424 }; // THIS IS HOW WE ROLL |
| ror |
<reply>template<typename T> inline T ror(T x, T n) { return (x >> n) | (x << (sizeof(T)*CHAR_BIT-n)); } |
| rotflmao |
<reply> http://adrinael.net/rotflmao.jpg |
| rpi |
(4/( 1+1/(3+4/(5+9/(7+16/(9+25/(11+36/(...)))))) ) |
| rppm |
<reply> Religion, Personal Preference and Moonphase |
| rps |
<reply> (rock|paper|scissors) |
| rtfm |
<reply> Read The (Fine|Fabulous|Fucking|Friendly|Frigging) Manual |
| rtfm2 |
<reply> RTFM is Intarwebs-speak for Repeat The (First|Fine|Fabulous|Fucking|Friendly|Frigging) Message . It is used when the message did not transfer over the Intarwebs properly. If someone tells you to RTFM, be patient with them, and copy-and-paste your original message several times. |
| rtti |
Run-Time Type Information |
| rubber ducking |
<reply> Place a rubber duck on your monitor and describe your problems to it. There's something magical about stating your problems aloud that makes the solution more clear. http://c2.com/cgi/wiki/Wiki?RubberDucking |
| ruby |
a bright red gem, worth a lot in some games. |
| rule -1 |
<reply> It's always the compiler's fault and your code is always correct. (Note that to not make a rule out of a positive rule you don't have to negate its contents) |
| rule 1 |
<reply> Make things work. Profile. Make things fast. In this order. |
| rule 3 |
<reply>Don't make us make fun of you |
| rule 4 |
<reply> Make it work from the beginning instead of first trying, and then going to correct it step by step. |
| rule 50 |
<reply> Many people here do not consider anything longer than 50 lines a testcase and will refuse to analyze it. |
| rule of 3 |
<reply> If you have one of 1) non-empty destructor 2) copy constructor 3) copy assignment operator then you almost certainly need _all_ three. (This might change with the addition of move semantics in C++0x.) |
| rule10 |
<reply>Greenspun's Tenth Rule of Programming: any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp |
| ruleof3 |
<reply>If you have one of 1) non-empty destructor 2) copy constructor 3) copy assignment operator then you almost certainly need _all_ three. (This might change with the addition of move semantics in C++0x.) |
| rules |
<reply> http://jcatki.no-ip.org:8080/fncpp/#channelrules |
| rvaluerefs |
<reply>A brief introduction to rvalue references: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2027.html |
| rvo |
Return Value Optimization. With RVO, a function returning by value will construct its result directly in a variable of the calling function, thus avoiding the need for a temporary. |
| s2bu |
<reply>Sucks To Be You |
| safe bool idiom |
<reply> http://www.artima.com/cppsource/safebool.html |
| sarcasm |
<reply>Sarcasm does not help people learn. |
| sarchasm |
<reply> sarchasm, n.: the void between the person making a sarcastic remark, and the person who doesn't get it. |
| sata |
<reply>IDE?? THIS IS SAAATAAA! |
| savitch |
the author of a textbook with too much colour and too little content |
| sbrm |
<reply>Scope Bound Resource Management is a powerful idiom based on the idea of acquiring resources in constructors and releasing them in destructors. C++ guarantees that destructors are automatically called for variables when they go out of scope, thereby transparently ensuring proper cleanup - even in the face of exceptions. Popularly called RAII (see !raii). |
| scalar |
<reply>Arithmetic types, enumeration types, pointer types, and pointer to member types, and cv-qualified versions of these types are collectively called scalar types. |
| scanf |
evil. Use std::cin. |
| scheme |
a scheme to take us to lisp |
| schildt |
<reply> Herbert Schildt's books are known for being highly inaccurate and should be avoided. |
| schmidt |
<reply>Douglas C. Schmidt is the author of the five !POSA books, and the creator of !ACE. |
| scons |
a nice replacement for make/automake/autoconf, found at http://www.scons.org |
| scopeguard |
a technique for applying RAII semantics to code that otherwise would not have them: http://www.cuj.com/documents/s=8000/cujcexp1812alexandr/ |
| scroll |
<reply>Using full, coherent sentences instead of a verbal diarrhea of 3-word messages is easier for others to read, helps keep the scroll down, and makes you look less dim-witted. |
| sdl |
the Simple Direct Media Library ( libsdl.org ) - A cross-platform API for single window and fullscreen 2D graphics, audio, joystick, keyboard, mouse, and OpenGL access, with a ton of addon libraries available |
| sdl-config |
use the script you use to generate the options you need for compiling(--cflags) and linking(--libs) with SDL |
| sdlwiki |
at http://www.libsdl.org/cgi/docwiki.cgi/ |
| sed |
the Spanish Inquisition |
| segmentation fault |
a memory access error, caused by accessing unallocated memory. common causes are double free/delete, accessing memory after free/delete, using uninitialized pointers or dereferencing null pointers |
| selection_sort |
<reply> template <typename iter> void selection_sort(iter b, iter e) { for( ; b != e; ++b ) { iter_swap( b, min_element(b,e) ); } } int main() { vector<int> v; v += 2,3,1,4; selection_sort(v.begin(), v.end()); cout << v; } |
| semaphores |
<reply> The Little Book of Semaphores, Second Edition by Allen B. Downey, a free (in both senses) book about synchronization problems. See http://greenteapress.com/semaphores/ |
| sequence constructor |
http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=424 |
| sequence point |
<reply>http://www.parashift.com/c++-faq-lite/misc-technical-issues.html#faq-39.16 (Note that sequence points are gone in C++1x.) |
| serialization |
http://www.parashift.com/c++-faq-lite/serialization.html | http://www.boost.org/libs/serialization/doc/index.html |
| seriousbusiness |
<reply> Internet. Serious business. http://adrinael.net/serious.jpg |
| seven sins |
<reply> Seven Deadly Sins of Introductory Programming Language Design, by Linda McIver & Damian Conway: http://www.csse.monash.edu.au/~damian/papers/PDF/SevenDeadlySins.pdf |
| sexps |
at http://theory.lcs.mit.edu/~rivest/sexp.html |
| seysayux |
<reply> SeySayux isn't stupid, you know! |
| sfinae |
<reply>Substitution Failure Is Not An Error. See http://en.wikipedia.org/wiki/SFINAE |
| sgi |
<reply> http://sgi.com/tech/stl is a good tutorial and reference for the containers, iterators and algorithms in the original STL. The C++ standard library is very similar but different. See !apache for a standard library reference. |
| shared rdbuf |
<reply> f.std::basic_ios< char >::rdbuf(( std::cout.rdbuf() )); |
| shared_ptr |
<reply>boost::shared_ptr example: http://www.ifj.edu.pl/~rmaj/c++/ex/shared_ptr_basic/x.cpp.html ; reference: http://www.boost.org/libs/smart_ptr/shared_ptr.htm |
| shenanigans |
<reply>shenanigans are the inhabitants of zeta persei 8 |
| sherlock |
<reply> No shit, Sherlock! |
| shift by negative |
<reply> 5.8/1: The behavior [of a right or left shift] is undefined if the right operand is negative, or greater than or equal to the length in bits of the promoted left operand. |
| shlemiel |
<reply>See !the painter's algorithm |
| shorthand |
<reply>"geordi { x }" is shorthand for "geordi, int main() { x }" and "geordi << x" is shorthand for "geordi, int main() { cout << x; }" |
| shrubbery |
<reply> And now you must bring us ANOTHER shrubbery and place it next to this one, only a little higher with a little stream coming down the middle to get a two-level effect. And then, you must cut down the MIGHTIEST tree in the forest. With...a...HERRING! |
| shut |
<reply>shut the hell up! |
| si |
<reply>Nobody expects the spanish inquisition! http://luciferknight.files.wordpress.com/2008/03/spanish_inquisition.jpg |
| signale safe |
<reply>The following functions are signal safe: _Exit _exit abort accept access aio_error aio_return aio_suspend alarm bind cfgetispeed cfgetospeed cfsetispeed cfsetospeed chdir chmod chown clock_gettime close connect creat dup dup2 execle execve fchmod fchown fcntl fdatasync fork fpathconf fstat fsync ftruncate getegid geteuid getgid getgroups getpeername getpgrp getpid getppid ge |
| signature |
1.3.10 [defns.signature]: the information about a function that participates in overload resolution (13.3): the types of its parameters and, if the function is a class member, the cv- qualifiers (if any) on the function itself and the class in which the member function is declared. The signature of a function template specialization includes the types of its template arguments (14.5.5.1). |
| silence |
<reply>I kill you! |
| silly |
<reply> http://upload.wikimedia.org/wikipedia/en/7/7f/Graham_Chapman_Colonel.jpg |
| silly matrix |
<reply> template< typename T > struct matrix { matrix( unsigned m, unsigned n ) : n( n ), x( m * n ) {} T& operator ()( unsigned i, unsigned j ) { return x[ i * n + j ]; } private: unsigned n; std::vector< T > x; }; |
| simple |
<reply> If you have to ask the question, how could you possibly know whether or not it's simple? |
| simple solution |
the simplest solutions is the best in most cases |
| simpleconvert |
<reply> (#include <sstream>) std::stringstream convert; convert<< whatever; if(convert>> whateverelse) { // conversion worked |
| simpleiconvert |
<reply> (#include <string> #include <sstream>) std::string whatever("123"); std::istringstream convert(whatever); if (convert >> whateverelse) { /* conversion worked */ } else { /* conversion failed */ } |
| simplest solution |
<reply> the simplest solutions is the best in most cases |
| singleton class |
<reply> A particular app may wish to provide a singleton object of a particular class, but the class itself should never know nor care whether it's used as a singleton. |
| sistim |
<reply> see http://www.raytheon.com/products/sistm/ - The SISTIM (SImulator/STIMulator) Project at Raytheon |
| size_t |
<reply> If you've used type int for indices so far, consider using type std::size_t (#include <cstddef>) from now on. It's an unsigned integral type (C89, 4.1.5) used by the sizeof operator (!sizeof) and used in many places in the c++ standard library too. |
| sizeof |
<reply>The sizeof( Type-or-Expression ) compile time operator returns the size of the operand in bytes. The size is of type std::size_t, defined in cstddef. If the operand is an array, sizeof returns the total size of the array in bytes. See !CHAR_BIT for the size of a byte. |
| sliced bread |
<reply> struct Food { int calories; }; struct Bread : Food { int butter; }; Food food = Bread(); // Slicing bread has never been easier... |
| sloppy |
<reply> If your writing is semi-literate, ungrammatical, and riddled with misspellings, we will tend to ignore you. While sloppy writing does not invariably mean sloppy thinking, we've generally found the correlation to be strong--and we have no use for sloppy thinkers. If you can't yet write competently, learn to. -- http://www.catb.org/~esr/faqs/hacker-howto.html#skills4 |
| smart pointers |
<reply>Smart pointers are classes or class templates that overload operators -> and (unary) * to provide pointer-like semantics, but with added trickery often intended to achieve some level of safety (e.g. in a SBRM sense) and/or automation with regard to the handling of the pointed-to resource. Examples include std::auto_ptr and boost/std::tr1::shared_ptr. |
| smart questions |
<reply> http://www.catb.org/~esr/faqs/smart-questions.html |
| smart-questions |
http://www.catb.org/~esr/faqs/smart-questions.html |
| smart_ptr |
<reply> Boost.Smart_Ptr ( http://boost.org/libs/smart_ptr/ ). scoped_ptr, like std::auto_ptr, deletes its member pointer when it does out of scope. shared_ptr is reference counted ( use weak_ptr to break cycles ). |
| smartass |
<reply>Why yes it is, thank you for noticing. |
| smartqs |
http://www.catb.org/~esr/faqs/smart-questions.html |
| smartquestions |
http://www.catb.org/~esr/faqs/smart-questions.html |
| smiley |
<reply> The only allowed smiley on this topical channel is :| |
| snails |
<action> *nom* '2@_ |
| snr |
<reply>The channel signal-to-noise ratio has underflowed. Please come back when the receivers have been reset. |
| soap |
the thing you should not drop in prison. Also, SOAP is a simple XML-based protocol to let applications exchange information over HTTP. For a C++ language binding implementation for SOAP, see gSOAP: http://www.cs.fsu.edu/~engelen/soap.html |
| socialcpp |
<reply>Social has no notion of anything, so you must be talking about C++ or some thing remotely connected with C++ (or C), which is beyond the scope of this channel (which focuses on social). |
| socialops |
<reply> blank Adrinael Metabol are ops on ##c++-social |
| socket++ |
http://www.linuxhacker.at/socketxx |
| sockets |
<reply> http://jcatki.no-ip.org:8080/fncpp/C++_Libs#sockets |
| sockofftopic |
<reply> C++ doesnt know about sockets. Are you using boost asio? #boost. Are you using posix api? ##posix. Are you using winsockets? #winapi... This list can go on and on and on... |
| solid |
<reply> S.O.L.I.D: Initials of five fundamental class design principles: in pictures http://tinyurl.com/d5xwns and for further http://www.butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod |
| some1 |
<reply>some1 is an AOLism, typing 'some1' instead of a full 'someone' tells us that you are lazy, inarticulate and/or want to look like that. If you don't have the time to write full questions, we won't have the time to write answers. |
| sorry |
<reply> Well ok... but I hope you will behave, $NICK! |
| south |
<reply>It is pitch black. You are likely to be eaten by a grue. |
| specialization |
<reply>A template specialization is a class, function, or class member that is either instantiated or explicitly specialized. |
| specializations |
<reply> template<typename T> struct A { }; /* <- primary template */ template<> struct A<int> { }; /* <- explicit specialization. provides type A<int> */ template struct A<bool>; /* explicit instantiaton => generates specialization A<bool> */. struct A<long> a; /* <- implicit instantiation => generates specialization A<long> */ template<typename T> struct A<T*> { }; /* <- partial specialization. */ |
| specific |
<reply> Standard C++ does not require your system to have a console, a mouse, a screen or a keyboard. To interface with platform dependent hardware such as a graphics card, use third party libraries which exist for that platform, such as OpenGL, SDL. |
| spellingnatzi |
an annoying, alive spellchecker. See also !typo |
| spock |
<reply> Live long and party, I mean PROSPER, yeah prosper...damn...this romulan ale is good $nick... |
| sql |
off-topic here, but try http://soci.sourceforge.net/ |
| sry |
<reply> SRY is a major transporter of freight in the Lower British Columbia Mainland. |
| static |
<reply> When used inside a function, the static keyword indicates that a variable is shared between all calls of the function. When used inside a class, it indicates that the variable or function is a member but is not tied to a specific instance. When used inside a namespace, it specifies internal linkage. |
| static members |
<reply> If your static member variables are causing linker errors, you probably did not define them. You must place a definition outside the class, in exactly one translation unit (see !tu). See http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.11 for more information. |
| static_cast |
<reply>Static casts can be used to convert one type into another, but cannot be used to cast away const-ness or to cast between non-pointer and pointer types. Static casts are prefered over C-style casts when they are available because they are both more restrictive (and hence safer) and more noticeable. |
| std |
<reply>1997 draft: http://www.open-std.org/jtc1/sc22/open/n2356/ C++1x working draft: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3035.pdf changes between 1997 and 2003: http://www.acceleratedcpp.com/authors/koenig/c++std/revisions.pdf 2003 standard: http://webstore.ansi.org/RecordDetail.aspx?sku=INCITS/ISO/IEC%2014882-2003 |
| std headers |
<reply> C++ standard library headers: algorithm, bitset, complex, deque, exception, fstream, functional, iomanip, ios, iosfwd, iostream, istream, iterator, limits, list, locale, map, memory, new, numeric, ostream, queue, set, sstream, stack, stdexcept, streambuf, string, typeinfo, utility, valarray and vector. See !compatibility headers for C90 library headers. |
| std:: |
<reply> namespaces exist not for the purpose of being merged with the using declaration. Try to use std::cout instead of cout, std::vector instead of vector, etc. |
| std::accumulate |
<reply>http://stdcxx.apache.org/doc/stdlibref/accumulate.html |
| std::adjacent_difference |
<reply>http://stdcxx.apache.org/doc/stdlibref/adjacent-difference.html |
| std::adjacent_find |
<reply>http://stdcxx.apache.org/doc/stdlibref/adjacent-find.html |
| std::advance |
<reply>http://stdcxx.apache.org/doc/stdlibref/advance.html |
| std::auto_ptr |
<reply>http://stdcxx.apache.org/doc/stdlibref/auto-ptr.html |
| std::back_inserter |
<reply>http://stdcxx.apache.org/doc/stdlibref/back-insert-iterator.html |
| std::bitset |
<reply>http://stdcxx.apache.org/doc/stdlibref/bitset.html |
| std::copy |
<reply>http://stdcxx.apache.org/doc/stdlibref/copy.html |
| std::deque |
<reply>http://stdcxx.apache.org/doc/stdlibref/deque.html |
| std::distance |
<reply> http://stdcxx.apache.org/doc/stdlibref/distance.html |
| std::equal |
<reply>http://stdcxx.apache.org/doc/stdlibref/equal.html |
| std::exception |
<reply>http://stdcxx.apache.org/doc/stdlibref/exception.html |
| std::find |
<reply>http://stdcxx.apache.org/doc/stdlibref/find.html |
| std::fstream |
<reply> http://stdcxx.apache.org/doc/stdlibref/basic-fstream.html |
| std::getline |
<reply>http://stdcxx.apache.org/doc/stdlibref/basic-string.html#idx390 |
| std::ios |
<reply>http://stdcxx.apache.org/doc/stdlibref/ios-h.html |
| std::istream |
<reply>http://stdcxx.apache.org/doc/stdlibref/basic-istream.html |
| std::less |
<reply>http://stdcxx.apache.org/doc/stdlibref/less.html |
| std::list |
<reply>http://stdcxx.apache.org/doc/stdlibref/list.html |
| std::make_pair |
<reply>http://stdcxx.apache.org/doc/stdlibref/pair.html#idx1103 |
| std::map |
<reply>http://stdcxx.apache.org/doc/stdlibref/map.html |
| std::max_element |
<reply> http://stdcxx.apache.org/doc/stdlibref/max-element.html |
| std::min_element |
<reply> http://stdcxx.apache.org/doc/stdlibref/min-element.html |
| std::multimap |
<reply>http://stdcxx.apache.org/doc/stdlibref/multimap.html |
| std::multiset |
<reply>http://stdcxx.apache.org/doc/stdlibref/multiset.html |
| std::next_permutation |
<reply> http://stdcxx.apache.org/doc/stdlibref/next-permutation.html |
| std::numeric_limits |
<reply>http://stdcxx.apache.org/doc/stdlibref/numeric-limits.html |
| std::pair |
<reply>http://stdcxx.apache.org/doc/stdlibref/pair.html |
| std::priority_queue |
<reply> http://stdcxx.apache.org/doc/stdlibref/priority-queue.html |
| std::queue |
<reply>http://stdcxx.apache.org/doc/stdlibref/queue.html |
| std::reverse |
<reply> http://stdcxx.apache.org/doc/stdlibref/reverse.html |
| std::set |
<reply>http://stdcxx.apache.org/doc/stdlibref/set.html |
| std::sort |
<reply> http://stdcxx.apache.org/doc/stdlibref/sort.html |
| std::stack |
<reply>http://stdcxx.apache.org/doc/stdlibref/stack.html |
| std::string |
<reply>http://stdcxx.apache.org/doc/stdlibref/basic-string.html |
| std::stringstream |
<reply>http://stdcxx.apache.org/doc/stdlibref/basic-stringstream.html |
| std::swap |
<reply>http://stdcxx.apache.org/doc/stdlibref/swap.html |
| std::transform |
<reply>http://stdcxx.apache.org/doc/stdlibref/transform.html |
| std::unique |
<reply> http://stdcxx.apache.org/doc/stdlibref/unique.html |
| std::valarray |
<reply>http://stdcxx.apache.org/doc/stdlibref/valarray.html |
| std::vector |
<reply>http://stdcxx.apache.org/doc/stdlibref/vector.html |
| stdalias |
<reply> It's undefined to access the stored value of an object through an lvalue of type other than the following: (1) The dynamic type of the object (with possible change in signedness or cv-qualification), (2) an aggregate or union type that includes one of [1] among its members (possibly recursively), (3) a base class of one of [1], or (4) a char or unsigned char type. See 3.10/15 |
| stdcppabuse |
<reply>Yes, !stdcpp is a simple text replacement. No, that doesn't make it any less valid. |
| stdio |
<reply>The C++ equivalent of <stdio.h> is <cstdio>, but its use is strongly discouraged in favor of <iostream>. <iostream> provides type-safe and extensible IO. |
| stdlib |
<reply>There is no <stdlib> header. <stdlib.h> is deprecated. Use <cstdlib> |
| stdlibevolution |
<reply>Evolution of the C++ Standard Library - http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2051.htm |
| stdlibfunc |
<reply>The functionality you desire is not provided by the C++ standard library. Consequently, you'd need some other library or system API, which unfortunately (for you) is off-topic here, as this channel is about standard C++ and its standard library only. |
| stdrq |
<reply>!trivia returns random quotes from the C++ Standard (or actually, the n1804 draft). !fact returns short ones only, !standardese returns long ones only. |
| step back |
<reply> You're already thinking implementation details. Step back for a second and tell us what you're trying to accomplish -- why you wanted to do this -- rather than how you think you should be doing it. |
| stfw |
<reply> Search the *fabulous* web. |
| sth |
<reply>Sheffield Teaching Hospitals NHS Foundation Trust manages the adult hospital services in Sheffield. |
| stl |
<reply>`STL' is sometimes used to mean: (1) C++ standard library; (2) the library Stepanov designed at HP; (3) the parts of [1] based on [2]; (4) specific vendor implementations of either [1], [2], or [3]; (5) the underlying principles of [2]. As such, the term is highly ambiguous, and must be used with extreme caution. If you meant [1] and insist on abbreviating, "stdlib" is a far better choice. |
| stl i.e. |
<reply> If you don't understand why we gave you !stl, listen up: don't use that term in ##c++ unless you know exactly what you're saying and are aware of its many meanings. If you're referring to the Standard C++ Library, use the term 'stdlib' |
| stl i.e. i.e. |
<reply> Bluntly put: do not use the term STL unless you're referring to the library Stepanov designed at HP. If you're referring to anything else, use a different term. |
| stlfilt |
http://www.bdsoft.com/tools/stlfilt.html |
| stlheaders |
<reply> algorithm bitset deque functional hash_map hash_set iterator limit list map memory numeric pthread_alloc queue rope set slist stack stdexcept string utility valarray and vector were headers of SGI's STL. C++ removed hash_map hash_set pthread_alloc rope slist and added exception fstream iomanip ios iostream istream locale new ostream sstream streambuf and typeinfo |
| stlnazi |
<reply>Whoever requested this factoid ran out of arguments and now tries the I am right because I insult you game. |
| stop |
<reply> STOP TOUCHING ME! |
| strcmp |
<reply>The strcmp() function compares the two strings s1 and s2. It returns an integer less than, equal to, or greater than zero if s1 is found, respectively, to be less than, to match, or be greater than s2. |
| strcpy |
<reply> void strcpy(char* s1, const char* s2) { while (*s1++ = *s2++); } |
| stream_ignore |
<reply> use stream.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // to ignore all characters in a stream until a newline is reached, including the newline. For more information, see: http://www.roguewave.com/support/docs/sourcepro/edition9/html/stdlibref/basic-istream.html#idx175 , http://www.parashift.com/c++-faq-lite/input-output.html#faq-15.3 |
| string |
<reply> In C++, `string' can mean either: (1) a sequence of bytes ending in a char with value 0; (2) a string literal in source code that is between a pair of unescaped \"; or (3) std::string type from the standard library. As such you need to disambiguate which you meant. |
| string formatters |
<reply> The String Formatters of Manor Farm by Herb Sutter ~ http://www.gotw.ca/publications/mill19.htm |
| strstream |
now std::stringstream, #include <sstream>, and the interface is totally new and improved |
| strtok |
<reply>strtok() has no direct C++ equivalent, but you can use the more flexible std::istringstream to tokenize. See !tokenize |
| struct |
<reply> The only difference between struct class-key and class class-key is that struct defaults to public access-specifier and public inheritance. |
| struct vs class |
<reply> A common convention is to use class when an invariant is maintained and struct when the member variables are all public. |
| stubborn |
<action> gives $1 the mister-stubborn award |
| subject |
<reply> A correct sentence consists of a subject and a predicate. Yours is missing the former. |
| subset |
<reply>C is *not* a subset of C++, although they share some common parts. |
| subtle |
<reply> subtle as in 'would be blindingly obvious if I had the slightest idea what I was doing'. |
| suddenly |
<reply> http://adrinael.net/suddenly.jpg |
| sudo make me a sandwich |
<action>makes $nick a sandwich. |
| suicide |
<reply>quick and painless or slow and painful? |
| sum1 |
the transcriptional repressor required for mitotic repression of middle sporulation-specific genes; involved in telomere maintenance, regulated by the pachytene checkpoint. |
| sup |
Stanford University Press, Publisher of trade and academic books in Asian studies, art, business and management, anthropology, history, literary theory, and the social sciences. http://www.sup.org/ |
| superset |
<reply>C++ is *not* a superset of C, although they share some common parts. |
| supybot |
well-documented, but it has too many plugins. |
| sux |
the airport code for Sioux City International Airport, Iowa, USA. |
| swap trick |
<reply> The 'swap trick' is used to shrink the capacity of a vector. Given a vector<int> v, it can be cleared and its memory released with vector<int>().swap(v); (which is no-fail) or changed to use as little memory as possible (after temporarily using twice as much) with vector<int>(v).swap(v); (which provides the strong guarantee). |
| swig |
http://www.swig.org/ - connects programs written in C and C++ with a variety of high-level programming languages (scripts and bytecode types) |
| syntax |
<reply>C++ syntax is easy - just memorize http://www.xs4all.nl/~weegen/eelis/cppgrammar.png and you'll be fine! |
| ta |
<reply><litb> he means translation anus |
| tad |
Template Argument Deduction (see 14.8.2) |
| tail |
like !typo + !fail |
| tao |
http://www.canonical.org/~kragen/tao-of-programming.html |
| tao changes |
<reply>Thus spake the master programmer: When the program is being tested, it is too late to make design changes. |
| tao heaven |
<reply>Thus spake the master programmer: A well-written program is its own heaven; a poorly-written program is its own hell. |
| tao life |
<reply>Thus spake the master programmer: After three days without programming, life becomes meaningless. |
| taocp |
http://en.wikipedia.org/wiki/The_Art_of_Computer_Programming |
| tarp |
<reply> http://adrinael.net/tarp.jpg |
| tartar |
http://www.colgate.com/app/Colgate/US/OC/Information/OralHealthBasics/CommonConcerns/PlaqueTartar/WhatisTartar.cvsp |
| tbb |
<reply> Threading Building Blocks is an open source (like libstdc++) C++ parallel programming library that includes mutexes, atomic operations, parallel algorithm templates, tbb_thread, scalable memory allocators, and concurrent containers. TBB is NOT a threading library, it uses tasks instead. See http://threadingbuildingblocks.org, or join #tbb. |
| tbh |
<reply> The Brooklyn Hospital Center is a healthcare system dedicated to providing access to quality services and education that improve well being of Brooklyn's communities. |
| tc++pl |
<reply> _The C++ Programming Language_ by Bjarne Stroustrup. If you keep no other book, keep this one. http://public.research.att.com/~bs/3rd.html |
| tcl |
<reply>Transports en commun lyonnais, the public transport system of Lyon. |
| tcpppl |
<reply> _The C++ Programming Language_ by Bjarne Stroustrup. If you keep no other book, keep this one. http://public.research.att.com/~bs/3rd.html |
| tea |
<reply> Remember to pour some for Adrinael, too! |
| teach |
<reply> We'll usually help with specific questions that can't be solved by RTFM, but we're not going to teach you C++. |
| teacher |
<reply> if you wanted a teacher you should try one not on IRC |
| teachers |
<reply> University courses in C++ are generally taught by people that don't know C++, with the important exception of Texas A&M. |
| teachyourself |
<reply> http://www.norvig.com/21-days.html |
| template errors |
<reply> http://www.parashift.com/c++-faq-lite/templates.html#faq-35.17 |
| template faq |
<reply> http://www.parashift.com/c++-faq-lite/templates.html and http://womble.decadentplace.org.uk/c++/template-faq.html |
| template operator<< |
<reply>template<typename T> std::ostream & operator<<(std::ostream & os, your_class_template<T> const & your_object) { ... } |
| templates |
<reply>The compiler generates code not for templates but for their instantiations. Unless you know beforehand precisely with which arguments the template will be instantiated, this precludes separate compilation, in which case your only option is to place all the code belonging to a template in its header, so that instantiations of it are compiled along with the translation units that spawn them. |
| term handler |
<reply> If your term handler is being called when you throw, it means that something _else_ is throwing in response to your first throw. For example, the destructor of an object throws, and that object is being destructed because of the first throw. |
| test |
<reply> You failed. |
| testcase |
<reply>Provide us with the _least_ amount of code that illustrates your question or exhibits the problem with your original code. That means we can take your paste and pass it to a compiler. See !paste for pastebins we like, currently http://codepad.org. Further instructions can be found at http://jcatki.no-ip.org:8080/fncpp/TestCase |
| testcase summary |
<reply> A testcase is the _least_ amount of code which still causes the unwanted error or output. |
| testcase.jpg |
<reply> http://adrinael.net/testcase.jpg |
| testing |
<reply>Never underestimate the amount of testers you gain when you deploy right onto production! |
| testivus |
<reply> http://www.artima.com/weblogs/viewpost.jsp?thread=203994 |
| testsnippet |
<reply>If you have a code snippet that isn't working, go to #geordi, make it work, and come back here. Don't pollute the channel. |
| thanks |
<reply> You're welcome, human! |
| the painter's algorithm |
<reply> Shlemiel the painter's algorithm is O(n*n) for no good reason--the same task can be done in O(n) easily. See http://www.joelonsoftware.com/articles/fog0000000319.html |
| thnx |
<reply> THNX is a webshop selling sneakers, jeans, shirts, bags, sweaters, slippers, socks, jackets, skirts and underwear, located in the Netherlands. |
| threading |
<reply>Hey look, I wrote a multithreaded program!!!! Now what's a deadlock? |
| thx |
<reply> THX © is the next generation surround sound, developed by a George Lucas company. (mplayer is not certified) (THX is deprecated) |
| thxz |
<reply> Thxz, LLC is a business to business web-based company. Their focus is on achieving consumer loyalty through simple, creative, effective techniques. |
| tias |
<reply>Why ask? Try it and see yourself. By doing that you 1.) stop wasting our time by asking trivial questions you could answer yourself in 2 minutes and 2.) learn the answer. See !geordi for an excellent way of tias. |
| tiasfy |
<reply> Try It And See For Yourself |
| ticpp |
<reply> Thinking in C++ by Bruce Eckel is a somewhat okay, free C++ book, available both online and in print form. See !book for better C++ books. http://mindview.net/Books/TICPP/ThinkingInCPP2e.html |
| tired excuse |
<reply> Being tired is the number one excuse here. Go to bed if you're tired. |
| tits |
<reply> Holy crap, those look natural http://titsandasses.org/ |
| tks |
the Airport code of Tokushima Airport, Japan. |
| tl;dr |
<reply>Too Long; Didn't Read |
| tla |
a Three Letter Acronym |
| tnx |
<reply> The TNX is Tamiya's new and ultimate ready-to-run nitro monster truck. Featuring an awesome power-to-weight ratio the TNX is powered by a high-performance 3.0cc FS-18SR engine developed with the collaboration of O.S. engines. |
| tokenize |
<reply>if you have a std::string str("abc:def"); char split_char = ':'; std::istringstream split(str); std::vector<std::string> token; for(std::string each; std::getline(split, each, split_char); token.push_back(each)); // (#include <sstream> #include <vector> #include <string>) |
| tokenize_ws |
<reply> if you have a std::string str("abc def"); std::istringstream split(str); std::vector<std::string> token; for(std::string each; split>> each; token.push_back(each)); // (#include <sstream> #include <vector> #include <string>) |
| toolchain |
<reply> You #include <header.h> then you compile stuff.cpp to a stuff.o object file and then you link all your *.o files together to get the application. |
| toolsets |
<reply> Specific toolsets are off-topic. Read the documentation for your tool or ask a channel, list, or similar related to the tool in question. Some POSIX tools are on-topic in ##workingset. |
| topical |
<reply> ##C++ is a topical channel. As per freenode policy, topical channels have two #-signs. Fun and sex are not allowed. Read more at http://freenode.net/policy.shtml#topicalchannels |
| torvalds |
<reply>The canonical reference to him is "that idiot". |
| tr1 |
Technical Report 1, a specification for new functionality for C++'s standard library, all of which (and more) being included in C++-1x (due in 2011). See http://open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf and http://aristeia.com/EC3E/TR1_info_frames.html |
| tr2 |
<reply> The C++ standardization committee is now soliciting proposals for a second technical report on standard library extensions. How to prepare proposals: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1810.html |
| transfunctional |
<reply>C++'s power is exceeded only by its difficulty, and, strangely, its difficulty is exceeded only by its power. |
| translated translation unit |
the result of compiling a translation unit (see !TU) down into an object file. The object file traditionally has an .o or .obj file-extension. |
| trap |
<reply> http://www.itsatrap.net http://adrinael.net/tarp.jpg http://adrinael.net/tap.jpg http://adrinael.net/harp.jpg http://adrinael.net/larp.jpg |
| trawling |
a method of fishing that involves actively pulling a fishing net through the water behind one or more boats. |
| trinity |
<reply> The trinity of C++ reference books are !tc++pl !josuttis and !langer |
| troll |
<reply>Don't feed the troll! It's a trap! |
| trolling |
a method of fishing in which a fishing lure (or a living fish) on a line is drawn through the water. |
| trolls |
<reply> Don't troll here, stay on-topic and be nice to each other. |
| try |
<reply> There is no try! There is only DO! |
| turk |
http://en.wikipedia.org/wiki/The_Turk |
| tut |
a wonderfully elegant C++ unit testing framework: http://tut-framework.sf.net (apt-get install libtut-dev) |
| tutorial |
<reply> There is no good C++ tutorial, say !book. |
| tuts |
<reply> There are no good online 'tuts' for learning C++. Get one of the !goodbooks |
| two humps |
a paper with a test that 'can predict success or failure [in an introductory programming course] even before students have had any contact with any programming language', with very high accuracy. See http://www.cs.mdx.ac.uk/research/PhDArea/saeed/ |
| tx |
<reply> TX is the state code of Texas, USA |
| txl |
the IATA airport code for Berlin, Tegel Airport |
| ty |
<reply> Ty the Handy Guy is best known as the lovable, off-the-wall, hunk-of-a-carpenter who likes to goof around on the set of Trading Spaces. |
| type |
<reply> http://www.fnal.gov/docs/working-groups/fpcltf/Pkg/ISOcxx/doc/POD.html |
| type erasure |
<reply> In the book 'C++ Template Metaprogramming', Dave Abrahams and Aleksey Gurtovoy define type erasure as 'the process of turning a wide variety of types with a common interface into one type with that same interface.' Examples include boost::function<sig>, where the common interface is 'callable with signature sig', and boost::any where the common interface is copy-constructible. |
| typedef |
<reply> read about typedef and why to use them at: http://www.gotw.ca/gotw/046.htm |
| typename |
<reply>See http://womble.decadentplace.org.uk/c++/template-faq.html#disambiguation for reasons to use the typename keyword |
| types |
<reply> I’m not against types, but I don’t know of any type systems that aren’t a complete pain, so I still like dynamic typing. -- Dr. Alan Kay on The Meaning of “Object-Oriented Programming” @ http://www.purl.org/stefan_ram/pub/doc_kay_oop_en |
| typing types |
<reply> The more interesting your types get, the less fun it is to write them down! -- Pierce ( http://www.cis.upenn.edu/~bcpierce/papers/tng-lics2003-slides.pdf ) |
| typo |
<reply> danm! |
| tyvm |
<reply> The Youth group Victory Meetings are the perfect opportunity to meet and introduce yourself to the Seicho-No-Ie teachings and youth members. |
| u |
<reply>u is an AOLism, typing 'u' instead of a full 'you' tells us that you are lazy, inarticulate and/or want to look like that. If you don't have the time to write full questions, we won't have the time to write answers. |
| ub |
<reply>Undefined behavior results when programs attempt to do things for which the standard defines no semantics, and requires no diagnostic either. Examples include dereferencing invalid pointers and dividing by zero. Executing such programs may cause them to produce incorrect results, crash, silently "work", or even format the hard drive. |
| ubint |
<reply>geordi << (char*)new int(0x656553) << (char*)new int(0x552120) << (char*)new int(0x662042) << (char*)new int(0x20726f) << (char*)new int(0x796877) << (char*)new int(0x687420) << (char*)new int(0x207369) << (char*)new int(0x726f77) << (char*)new int(0x2e736b) |
| ubuntu |
<reply> One of the worst games ever http://amazon.com/review/R1PPJ35WY17216 |
| udt |
<reply> UDT is a reliable UDP based application level data transport protocol for distributed data intensive applications over wide area high-speed networks. See http://udt.sourceforge.net/ |
| uml |
the Unified Modelling Language, Maintained by the OMG(Object Managing Group). http://www.uml.org |
| umltools |
<reply>A small list of known UML tools: http://www.jeckle.de/umltools.htm |
| undefined behavior |
<reply>UB is such a great optimization technique, it can make an infinite loop run in half a second |
| undefined factoid |
<reply> This factoid is undefined. See !trap for details. |
| undefined reference |
<reply> Undefined reference is a linker error. It's not a compile error. #includes don't help. You did not define the thing in the error message, you forgot to link the file that defines it, you forgot to link to the library that defines it, or, if it's a static library, you have the wrong order on the linker command line. Check which one. (Note that some linkers call it an unresolved external) |
| undefined template |
<reply> Template definitions go into the same translation unit they are instantiated in, unless your compiler supports the export keyword. Also see !tu |
| undefined vtable |
<reply> If you get an error saying undefined reference to vtable for Classname it means you didn't define all virtual functions you declared. Note that even though you make a destructor pure virtual, it will still be called when the derived object is destroyed, so you need to define it. See http://www.parashift.com/c++-faq-lite/strange-inheritance.html#faq-23.10 |
| union |
a class-key such as struct and class. It may only have aggregate members (see !aggregate) and it creates one single byte aligned member from them. |
| union_cast |
<reply>template<typename T, typename U> T union_cast(U& u) {union {T t; U u;} q; q.u = u; return q.t;} |
| unittest |
<reply>When programming you must ALWAYS HAVE CONSTANT VIGILANCE. YOU MUST UNIT TEST. UNIT TEST. UNIT TEST. |
| unpossimateable |
<reply> That's unpossible to guesstimate. |
| unresolved external |
a linker error. It's not a compile error. #includes don't help. You did not define the thing in the error message, or you forgot to link the file that defines it, or you forgot to link to the library that defines it, or if its a static library you have the wrong order. Check which one. (Note that on some compilers it's called undefined reference) |
| unspecified behavior |
<reply> Behavior, for a well-formed program construct and correct data, that depends on the implementation. The implementation is not required to document which behavior occurs. |
| uoverflow |
<reply> An unsigned integral type T wraps modulo numeric_limits <T>::max + 1. When converting from an integral value outside its range, the value is reduced modulo numeric_limits <T>::max + 1. |
| upcast |
<reply>Objects of (or pointers/references to) derived classes can convert implicitly to objects of (or pointers/references to) base classes. This conversion is sometimes referred to as `up-cast', which is technically incorrect, as casts are syntactic constructs for explicitly requesting conversions, redundant in the case of implicit conversions. |
| ur |
<reply>Ur was an ancient city in southern Mesopotamia, located near the original mouth of the Euphrates and Tigris rivers on the Persian Gulf and close to Eridu. http://en.wikipedia.org/wiki/Ur |
| using |
<reply>ISO 14882:2003 17.4.4.1.1 `A C++ header may include other C++ headers.' . If you include any C++ header in your program and then do using namespace std; in some scope, you might be bringing every C++ standard library identifier into that scope. There is no way of portably knowing which ones. |
| using libs |
<reply> http://jcatki.no-ip.org:8080/fncpp/Using3rdPartyLibraries |
| using namespace |
<reply>The use of using-directives (e.g. `using namespace std;') is discouraged, because: (1) in the case of namespace std, it potentially brings hundreds of names from the entire standard library into scope, and (2) their use obscures the origins of unqualified names in your code. Use explicit qualification (e.g. `std::cout') and/or using-declarations (e.g. `using std::cout;') instead. |
| using namespace std |
<reply> Importing the entire std:: namespace into the global scope brings in a lot more symbols than vector and list, it also brings in standard library implementational details. C++ headers are allowed to include other C++ headers, so there is no way of knowing just what symbols got pulled into global scope. Its best not to use 'using namespace std;' |
| using-directive |
<reply> Do not place a using-directive in any header file at global or namespace scope. Example of a using-directive is: using namespace std; . See ISO/IEC 14882 7.3.4. |
| utf-16 |
<reply> UTF-16 does not meet the requirements of the C standard for a wide character set. ( http://gcc.gnu.org/onlinedocs/cpp/Character-sets.html#Character-sets ) |
| utf-8 |
<reply> UTF-8 was designed such that many common operations including substring finding/replacing and string concatenation can be safely performed in terms of raw byte sequences. This makes std::string (which stores and manipulates raw byte sequences) suitable for UTF-8 encoded strings, as long as you do not need things like iteration over individual code points or case conversion. |
| utf16 |
<reply> UTF-16 does not meet the requirements of the C standard for a wide character set. ( http://gcc.gnu.org/onlinedocs/cpp/Character-sets.html#Character-sets ) |
| utf8 |
<reply>UTF-8 was designed such that many common operations including substring finding/replacing and string concatenation can be safely performed in terms of raw byte sequences. This makes std::string (which stores and manipulates raw byte sequences) suitable for UTF-8 encoded strings, as long as you do not need things like iteration over individual code points or case conversion. |
| vagina |
censored |
| valgrind |
<reply> http://valgrind.org - a program execution supervisor for x86(32bit), x86_64(64Bit) and PPC(32Bit and 64Bit) Linux that can debug heap memory usage errors like non-crashing invalid accesses and memory leaks efficiently. It also contains a cache-, a heap- and a call-graph profiler. |
| vampire |
<reply>You are being a help vampire on this channel. Help vampires ask for help in a very poor manner, intentionally or otherwise, and, true to their name, suck out all the life from a help forum or channel. Please interact with others in a more mature, responsible manner. For more information see http://slash7.com/pages/vampires |
| variablehack |
<reply> http://adrinael.net/variablehack.cpp is an awesome way not to use templates. Author unknown. |
| vb |
<reply>VB happens when you misspell UB. See !UB |
| vc++ |
<reply> see !winapi |
| vector speed |
<reply>Contrary to popular nonsense, basic operations on vectors don't have to be slower than equivalent operations on arrays/pointers, see http://www.xs4all.nl/~weegen/eelis/vector-speed.cpp |
| vector<bool> |
<reply> See http://www.gotw.ca/gotw/050.htm and http://www.gotw.ca/publications/N1185.pdf for more information about std::vector<bool> and its problems. See also http://www.boost.org/doc/libs/1_39_0/libs/dynamic_bitset/dynamic_bitset.html |
| vector_from_array |
<reply> template <typename T, size_t N> std::vector<T> as_vector(T const (&a)[N]) { return std::vector<T>( a, a+N ); } |
| venting |
<reply> venting is done in ##C++-social |
| vi |
<reply> I use nano. |
| vi or emacs |
<reply> I use nano. |
| vi vs emacs |
<reply> I use nano. |
| videotut |
<reply>Best C++ video tutorial: http://www.youtube.com/watch?v=GlKL_EpnSp8 |
| vim |
<reply> vim is modal. One in which it trashes your files, and another in which it beeps. |
| vim or emacs |
<reply> I use nano. |
| vim vs emacs |
<reply> I use nano. |
| virtual |
<reply>http://www.parashift.com/c++-faq-lite/virtual-functions.html |
| virtual template |
<reply>The number of virtual functions need to be known when the class is defined. templates can be instanced _after_ the class is defined, so a virtual member function template would have to make the class's vtable larger after the compiler is done writing it. For various reasons, this is not possible. |
| virtualdtor |
http://www.parashift.com/c++-faq-lite/virtual-functions.html#faq-20.7 |
| vista |
<reply> Visible and Infrared Survey Telescope for Astronomy. VISTA, when available in 2007, will be a 4-m class wide field survey telescope for the southern hemisphere. http://www.vista.ac.uk/ |
| visual |
<reply> ##C++ is not visual. We program in raw, unadorned, inscrutable code. |
| vla |
<reply>VLAs are Variable Length Arrays, a C99 feature that is not present in C++ and probably wont be any time soon, if ever. Its support in the C world is bad as well, so better avoid it completely. In C++, use std::vector instead. You can acquire a pointer to its internal data by writing "&your_vector[0]". |
| vlas |
<reply> VLAs are Variable Length Arrays, a C99 feature that is not present in C++ and probably wont be any time soon, if ever. Its support in the C world is bad as well, so better avoid it completely. In C++, use std::vector instead. You can acquire a pointer to its internal data by writing "&your_vector[0]". |
| void(*)() |
<reply> 3.2.9 para 4 guarantees that a void* shall be able to hold any object pointer , 4.10 para 2 discusses conversion from T* to void* but only where T is an object type, 5.2.9 para 10 discusses conversions from void* to T* but only where T is an object type. i think the theme is clear. (all from the C++98 standard) |
| void* |
what you use when you have the location of untyped data, or when you're dealing with other languages -- any other reason is treason. |
| voidmain |
<reply>In section 3.6.1 paragraph 2, the standard states with regard to main: `It shall have a return type of type int'. While your compiler may accept other return types as a language extension, anything but int is illegal as far as the standard (and by extension, ##c++) is concerned. Also see http://www.research.att.com/~bs/bs_faq2.html#void-main |
| volatile |
<reply> 7.1.5.1-8 [The cv-qualifiers][Note: volatile is a hint to the implementation to avoid aggressive optimization involving the object because the value of the object might be changed by means undetectable by an implementation. See 1.9 for detailed semantics. In general, the semantics of volatile are intended to be the same in C++ as they are in C. ] |
| vowel |
<reply>vwls r bt s sfl s whtspc, spclly n vrbl nms. s ls: !ndnttn |
| vsrot |
http://charlespetzold.com/etc/DoesVisualStudioRotTheMind.html |
| w8 |
<reply> A W8 engine is an eight cylinder piston engine in a W configuration, or two juxtaposed 15 degree V4 engine blocks, mounted at 72 degrees to one another and coupled to one crankshaft. |
| waffle |
<reply>Waffles: The superior pancake. |
| waffles |
<reply>Waffles: The superior pancake. |
| wall |
<reply>No one has the intention of erecting a wall! |
| want speed |
<reply>http://cpp-next.com/archive/2009/08/want-speed-pass-by-value/ |
| warning |
<reply>warning: Don't ignore warnings! See also: !-Wall |
| wb |
<reply> thx |
| wchar_t* |
<reply> If you're here and you have problems with wchar_t* 'string's, then you have 2 options: 1) use std::wstring 2) goto ##C |
| wcstok |
<reply>A useful and concise answer that directly addresses your problem.... when it's not AFK... or in a bad mood. |
| wd |
Abbreviation for working draft , typically referring to the current working draft of the C++0X standard. |
| we |
<reply> Speak for yourself. |
| webwolf |
<reply> <webwolf_27> I'm working on a class to generate dice rolls, but although I put srand(( time( NULL * 1000000 ) )); in the constructor, the result is always the same. Anybody have any idea's?? |
| weffcpp |
<reply> -Weffc++ is a GCC compiler flag that warns about violations in the style guidelines from Scott Meyers’ Effective C++ and More Effective C++ books. |
| well-formed |
<reply>That code may be well-formed, depending on what those identifiers refer to. It may even be correct, depending on what you want it to do. Until you provide us with this information, however, we can't say much about it. |
| werewrong |
<reply> You were doing it wrong! http://adrinael.net/werewrong.jpg |
| west |
<reply>It is pitch black. You are likely to be eaten by a grue. |
| wfm |
<reply>Works for me! |
| wg21 |
<reply> Welcome to the official home of The C++ Standards Committee http://www.open-std.org/jtc1/sc22/wg21/ |
| wgetrw |
<reply> wget --no-parent --convert-links --recursive --force-directories http://www.roguewave.com/support/docs/sourcepro/edition9/html/stdlibref/index.html |
| whats |
You mean ''what's'' or ''what is''. Please use proper spelling, or go back to AOL |
| wheel |
<reply>Reinventing the wheel to run myself over with. |
| whitespace |
http://public.research.att.com/~bs/whitespace98.pdf |
| who |
your daddy |
| who's your daddy |
<reply>PlasmaHH is my daddy |
| why |
<reply> ##C++ is a topical channel. As per freenode policy, topical channels have two #-signs. Fun and sex are not allowed. Read more at http://freenode.net/policy.shtml#topicalchannels |
| whybook |
<reply> This channel does not recommend books to make you go away. Books are essential for learning C++. The authors of good books have spent years to choose their words carefully to answer the most basic C++ questions without skipping a detail. There is no guarantee that the answers to such questions will be as correct or complete. Also, it is redundant to repeat them. |
| whyconcepts |
<reply>various reasons. basically, noone thinks that the current wording is of good quality. noone did an imlpementation of it following the wording, and noone wants a second export (which has good chances to be deprecated btw). and additionally bjarne wants some weird additional features for concepts |
| whynotstl |
<reply> Why do we _hate_ the term, STL? Because it was the name of the library Stepanov designed at HP. The C++ Standard Library used this library as a starting point, and built upon it. It is generally incorrect to refer to the C++ Standard Library as the library it was built upon. The C++ Standard Library and the STL are _not_ one and the same, so the term STL should not be used for both of them. |
| widgets |
<reply> http://jcatki.no-ip.org:8080/fncpp/C++_Libs#widgets |
| win |
<reply> You lose. |
| window |
<reply>Windows are devices which allow us to look through walls. |
| windows |
<reply> You should ask your Windows programming questions in ##windows-coding or #winapi. |
| windows question |
<reply> Ask your Windows questions in #winapi. They are off-topic for ##C++ and even if #winapi seems inactive it's no excuse to ask them here. |
| wip |
Work in progress |
| wishlist |
<reply>The C++0x Standard Library wishlist (revision 6) http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2034.htm |
| wnh |
<reply> You're telling us how you're trying to do something, but we need to know why you're doing that. What are you trying to accomplish? |
| womble |
<reply>Wombles are harmless. Be nice to them. |
| womblesong |
<reply>http://www.wombles.easyweb-solutions.co.uk/movies/theme.swf |
| wong |
<reply> You're doing it wong! http://adrinael.net/wong.jpg |
| woot |
<reply> please see !nofun |
| word |
<reply>"Word", "DWord" and the likes are not C++ terms. We can't know which size you mean, since there is about a dozen definitions of those terms out there. Please use a C++ integer type to describe what you mean. |
| work |
<reply> We don't work |
| works |
<reply>It works it works! Omg omg omg! I mean it compiles. Now what's a segfault? |
| worms |
<action> drops a concrete donkey on $nick |
| worse |
<reply> Worse is better. See http://www.jwz.org/doc/worse-is-better.html |
| wotsit |
<reply>File format information: http://www.wotsit.org |
| wow |
<reply> Awesome! |
| wrong2 |
<reply> You're still doing it wrong, but 10 points for effort! http://adrinael.net/wrong2.jpg |
| wrong3 |
<reply> You're still doing it wrong, -10 points for that! |
| wtferror |
a perl hack to clean up the pages and pages of error output from highly templated code : http://nmstl.sourceforge.net/doc/nmstl-guide.html#wtf (download at http://prdownloads.sourceforge.net/nmstl/wtf?download ) |
| wtfpl |
<reply> The Do What The Fuck You Want Public Licence: http://en.wikipedia.org/wiki/WTFPL |
| wts |
What the holy shit is that, Batman? |
| wvstreams |
http://alumnit.ca/wiki/?WvStreams |
| x macros |
<reply>http://www.ddj.com/cpp/184401387 |
| xd |
<reply>Compact and durable, the Olympus xD-Picture Card is the ultimate reusable, removable digital media. |
| xml |
<reply>XML stands for eXtreme aMplification Language. Its sole use is to take a small amount of data and amplify it by at least 10 orders of magnitude. (see http://xplusplus.sourceforge.net/) |
| xmpp |
an over-complicated, incredibly bloated, insecure and not realible XML based IM protocol - with around 200 additions that are described in epic documents, yet noone implements them all (correctly). Probably designed by rejects from C++0x commitet |
| xxx |
xxx |
| xy |
<reply>You're trying to do X, and you thought of solution Y. So you're asking about solution Y, without even mentioning X. The problem is, there might be a better solution, but we can't know that unless you describe what X is. |
| y |
<reply> y is an AOLism, typing 'y' instead of a full 'why' tells us that you are lazy, inarticulate and/or want to look like that. If you don't have the time to write full questions, we won't have the time to write answers. |
| ya |
a a town in Ghana. It also means `I` in several Slavic languages. |
| yo |
the ISO 639-1 code for the Yoruba language, a dialect continuum of West Africa with over 25 million speakers. |
| youknow |
<reply>so you know all about templates, exceptions, namespaces, constructors/destructors (and therefore RAII), virtual function polymorphism, references, operator/function overloading, reusable standard generic containers, and explicitly named casts. |
| your |
<reply>It's "you're dumb", but "your thumb". |
| yourock |
<reply> http://adrinael.net/yourock |
| youvsgcc |
<reply>Compilers undergo many many many years of development utilizing the combined knowledge of dozens to hundreds to thousands of different developers which could equate to a combined several hundred thousand years worth of programming experience, versus you. |
| yw |
<reply>yw stands for "you wanker" or "you're a wanker" , depending on context. |
| yyy |
<reply> zzz |
| zero-initialized |
<reply>Variables with static storage are zero-initialized, variables with automatic or dynamic storage aren't. Consequently, PODs(see !pod) which do not have static storage have undefined values unless explicitly initialised. |
| zomg |
<reply>ROFLOLZOMGTFO |
| zor |
<reply> Zero Overhead Rule is What you don't use, you don't pay for http://www.research.att.com/~bs/esc99.html |
| {} |
<reply> {} are braces |