KeyFactoid
<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