Changes

Jump to: navigation, search

Cpp

23,755 bytes added, 14:59, 30 July 2019
Created page with "'''Home * Programming * Languages * C++''' '''C++''',<br/> a pragmatical, [https://en.wikipedia.org/wiki/Object-oriented_programming object oriented], [..."
'''[[Main Page|Home]] * [[Programming]] * [[Languages]] * C++'''

'''C++''',<br/>
a pragmatical, [https://en.wikipedia.org/wiki/Object-oriented_programming object oriented], [https://en.wikipedia.org/wiki/General-purpose_programming_language general-purpose programming language],
initially an extension of [[C]] and designed and implemented in 1979 by [[Mathematician#Stroustrup|Bjarne Stroustrup]] from [[Bell Laboratories]].
C++ is pragmatical because one may write in "usual" C-style, using the [https://en.wikipedia.org/wiki/C_standard_library C standard library] (printf, strcpy, ...), except perhaps using C++ comments and [https://en.wikipedia.org/wiki/Reference_(C%2B%2B) references] up and then (instead of [https://en.wikipedia.org/wiki/Pointer_(computer_programming) pointer]). On the other hand C++ allows to design classes and interfaces (pure virtual classes) in a more object oriented manner. There are lots of free and commercial class libraries for arithmetics, database related stuff, portable and proprietary window management and whatever else.
Many chess engines are written in C++, varying from using pure C-style, up to extensive use of object oriented stuff and templates as well as [[#11|C++11]] or [[#17|C++17]] features.

=C Extensions=
==References==
* [https://en.wikipedia.org/wiki/Reference_%28C%2B%2B%29 Reference (C++) from Wikipedia]
<span id="ExceptionHandling"></span>
==Exception Handling==
* [https://en.wikibooks.org/wiki/C%2B%2B_Programming/Exception_Handling C++ Programming/Exception Handling from Wikibooks]
* [http://www.cplusplus.com/doc/tutorial/exceptions/ Exceptions - C++ Reference]
* [http://www.cplusplus.com/reference/std/exception/exception/ exception - C++ Reference]

=Classes=
Classes as declaration for objects are more or less [[C#Struct|C-Structures]]. None static functions may be declared inside the scope of a class. Those functions, called [https://en.wikipedia.org/wiki/C%2B%2B_classes#Member_functions member functions], have an implicit parameter called "this", a pointer to this structure, allocated either inside the [https://en.wikipedia.org/wiki/Data_segment data segment] or [https://en.wikipedia.org/wiki/.bss bss] as [https://en.wikipedia.org/wiki/Local_variable#Static_local_variables static] or [https://en.wikipedia.org/wiki/Global_variable global], via "new" (malloc) on the [https://en.wikipedia.org/wiki/Memory_management#HEAP heap] or as [https://en.wikipedia.org/wiki/Automatic_variable automatic object] (variable) on the [https://en.wikipedia.org/wiki/Stack-based_memory_allocation stack].

* [https://en.wikipedia.org/wiki/C%2B%2B_classes C++ classes from Wikipedia]

==Data Definition==
* [https://en.wikipedia.org/wiki/C%2B%2B_classes#Basic_declaration_and_member_variables Basic declaration and member variables from Wikipedia]
==Member Functions==
* [https://en.wikipedia.org/wiki/C%2B%2B_classes#Member_functions Member functions from Wikipedia]
==Modifiers==
* [https://en.wikipedia.org/wiki/Access_modifiers Access modifiers from Wikipedia]
* [https://en.wikipedia.org/wiki/Static_(keyword) Static (keyword) from Wikipedia]
* [https://en.wikipedia.org/wiki/Class_variable Class variable from Wikipedia]
* [https://en.wikipedia.org/wiki/Method_(computer_programming)#Static_methods Static methods from Wikipedia]

==Pointer to Member Functions==
For instance an [[Array|array]] of member function pointers of a class ''CNode'', which is indexed by arbitrary pieces code - as switch-case replacement via indirect call/jump.
The special atomic [https://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B C++ operator] '<span style="background-color: #c0c0c0;">->*</span>' is used to call the indexed member-functions:
<pre>
class CNode {
U64 AssertAttack (EnumSquare sq) const;
U64 wPawnAttacks (EnumSquare sq) const;
U64 bPawnAttacks (EnumSquare sq) const;
U64 knightAttacks(EnumSquare sq) const;
U64 kingAttacks (EnumSquare sq) const;
U64 bishopAttacks(EnumSquare sq) const;
U64 rookAttacks (EnumSquare sq) const;
U64 queenAttacks (EnumSquare sq) const;
...
typedef U64 (CNode::*AttackPtrType)(EnumSquare sq) const;
static AttackPtrType m_scPieceAtta[14];
...

U64 getAttack(EnumSquare sq, EnumPiece piece) const {return (this->*m_scPieceAtta[piece])(sq);}
};

CNode::AttackPtrType CNode::m_scPieceAtta[14] =
{
AssertAttack,
AssertAttack,
wPawnAttacks,
bPawnAttacks ,
bishopAttacks,
bishopAttacks,
knightAttacks,
knightAttacks,
rookAttacks,
rookAttacks,
kingAttacks,
kingAttacks,
queenAttacks,
queenAttacks
};
</pre>

==Inheritance==
* [https://en.wikipedia.org/wiki/Inheritance_%28object-oriented_programming%29 Inheritance (object-oriented programming) from Wikipedia]
* [https://en.wikibooks.org/wiki/C%2B%2B_Programming/Classes/Inheritance Inheritance from Wikibooks]
* [https://en.wikiversity.org/wiki/C%2B%2B/Classes_and_Inheritance C++/Classes and Inheritance - Wikiversity]
==Function Overloading==
* [https://en.wikipedia.org/wiki/Function_overloading Function overloading from Wikipedia]

==Operator Overloading==
* [https://en.wikipedia.org/wiki/Operator_overloading Operator overloading from Wikipedia]
* [https://en.wikibooks.org/wiki/C%2B%2B_Programming/Operators/Operator_Overloading Operator Overloading from Wikibooks]

==Late Binding==
* [https://en.wikipedia.org/wiki/Late_binding Late binding from Wikipedia]
* [https://en.wikipedia.org/wiki/Virtual_method_table Virtual method table from Wikipedia]
* [https://en.wikipedia.org/wiki/Virtual_function Virtual function from Wikipedia]
<span id="AbstractClass"></span>
==Abstract Classes==
* [http://en.wikibooks.org/wiki/C++_Programming/Classes/Abstract_Classes Abstract Classes from Wikibooks]

==Pure Abstract Classes==
* [https://en.wikibooks.org/wiki/C%2B%2B_Programming/Classes/Abstract_Classes/Pure_Abstract_Classes Pure Abstract Classes from Wikibooks]

==Multiple Inheritance==
* [https://en.wikipedia.org/wiki/Multiple_inheritance Multiple inheritance from Wikipedia]
<span id="Template"></span>
=Templates=
{{Cpp Templates}}

=Anonymous Functions=
* [https://en.wikipedia.org/wiki/Anonymous_function#Clang_(C,_C++,_Objective-C,_Objective-C++) Anonymous functions (Blocks) from Wikipedia]
* [https://en.wikipedia.org/wiki/Anonymous_function#C++_(since_C++11) Anonymous functions (Lambda expressions) from Wikipedia]

=Smart Pointer=
* [https://en.wikipedia.org/wiki/Smart_pointer Smart pointer from Wikipedia]
* [https://en.wikipedia.org/wiki/Auto_ptr auto_ptr from Wikipedia] (C++11 deprecated)
* [https://en.wikipedia.org/wiki/Smart_pointer#unique_ptr unique_ptr from Wikipedia]
* [https://en.wikipedia.org/wiki/Smart_pointer#shared_ptr_and_weak_ptr shared_ptr from Wikipedia]

=Class Design of a Chess Engine=
''main article'' [[Class Design of a Chess Engine]]
<span id="Compiler"></span>
=C++ Compiler=
* [https://en.wikipedia.org/wiki/List_of_compilers#C++_compilers List of C/C++ compilers from Wikipeadia]
* [[Free Software Foundation#GCC|GCC]]
** [https://en.wikipedia.org/wiki/LLVM LLVM from Wikipeadia]
** [https://en.wikipedia.org/wiki/Clang Clang from Wikipeadia]
* [https://en.wikipedia.org/wiki/Intel_C%2B%2B_Compiler Intel C++ Compiler from Wikipeadia]
* [https://en.wikipedia.org/wiki/Visual_C%2B%2B Visual C++ from Wikipeadia]
<span id="Libraries"></span>
=Libraries=
* [https://en.wikipedia.org/wiki/Standard_Template_Library Standard Template Library from Wikipeadia]
* [http://www.cplusplus.com/reference/stl/ STL Containers - C++ Reference]
* [http://www.softwarepreservation.org/projects/c_plus_plus/library C++ Libraries — Software Preservation Group], [[The Computer History Museum]]
: [http://www.softwarepreservation.org/projects/c_plus_plus/library/nihcl NIH Class Library — Software Preservation Group], [[The Computer History Museum]] <ref>[[Keith Gorlen|Keith E. Gorlen]], et al. ('''1990'''). ''[https://www.goodreads.com/book/show/3108432-data-abstraction-and-object-oriented-programming-in-c Data abstraction and object-oriented programming in C++]''. [https://en.wikipedia.org/wiki/John_Wiley_%26_Sons Wiley]</ref>
* [https://en.wikipedia.org/wiki/Qt_(software) Qt (software) from Wikipedia]
* [https://en.wikipedia.org/wiki/Loki_%28C%2B%2B%29 Loki (C++) from Wikipedia] by [[Mathematician#AAlexandrescu|Andrei Alexandrescu]] as part of his book ''[https://en.wikipedia.org/wiki/Modern_C%2B%2B_Design Modern C++ Design]''.
* [[Pablo San Segundo#BITSCAN|BITSCAN]], a [[Cpp#Libraries|C++ library]] for bitstrings by [[Pablo San Segundo]]
* [https://en.wikipedia.org/wiki/Boost_%28C%2B%2B_libraries%29 Boost (C++ libraries) from Wikipedia]
* [http://bstring.sourceforge.net/ The Better String Library] by [[Paul Hsieh]]
* [https://sourceforge.net/p/log4cplus/wiki/Home/ log4cplus / Wiki / Home]
* [https://github.com/zd3nik/SenjoUCIAdapter Senjo C++ UCI Adapter] by [[Shawn Chidester]] » [[Clubfoot]], [[UCI]]

=See also=
* [[De Bruijn Sequence Generator]]
* [[Generic Programming]]
* [[SSE2#SSE2WrapperinCpp|SSE2 - SSE2-Wrapper in C++]]

=C++ Publications=
==1985 ...==
* [[Mathematician#Stroustrup|Bjarne Stroustrup]] ('''1985, 1991, 1997, 2000'''). ''[https://en.wikipedia.org/wiki/The_C%2B%2B_Programming_Language The C++ Programming Language]''. [https://en.wikipedia.org/wiki/Addison-Wesley Addison-Wesley]
* [[Keith Gorlen|Keith E. Gorlen]] ('''1987'''). ''An Object-Oriented Class Library for C++ Programs''. [https://dblp.uni-trier.de/db/conf/c++/c++87.html C++ Workshop 1987]
* [[Mathematician#Stroustrup|Bjarne Stroustrup]], [[Andrew Koenig]] ('''1989'''). ''C++: as close as possible to C -- but no closer''. [https://en.wikipedia.org/wiki/C%2B%2B_Report C++ Report], Vol. 1, no. 7
==1990 ...==
* [[Andrew Koenig]], [[Mathematician#Stroustrup|Bjarne Stroustrup]] ('''1990'''). ''Exception Handling for C++''. Proc [http://dblp.dagstuhl.de/db/conf/c++/c++90.html#KoenigS90 USENIX C++ Conference 1990], Also, [https://dl.acm.org/citation.cfm?id=J472 Journal of Object Oriented Programming], Vol. 3, No. 2
* [[Keith Gorlen|Keith E. Gorlen]], et al. ('''1990'''). ''[https://www.goodreads.com/book/show/3108432-data-abstraction-and-object-oriented-programming-in-c Data abstraction and object-oriented programming in C++]''. [https://en.wikipedia.org/wiki/John_Wiley_%26_Sons Wiley] <ref>[http://www.softwarepreservation.org/projects/c_plus_plus/library/nihcl NIH Class Library — Software Preservation Group], [[The Computer History Museum]]</ref>
* [[Andrew Koenig]], [http://www.profcon.com/profcon/cargill/ Thomas A. Cargill], [[Keith Gorlen|Keith E. Gorlen]], Robert B. Murray, Michael Vilot ('''1991'''). ''[https://www.semanticscholar.org/paper/How-Useful-is-Multiple-Inheritance-in-C%2B%2B-Koenig-Cargill/3cab41a20400d12ef38e702166961de280441ecf How Useful is Multiple Inheritance in C++?]'' [https://dblp.uni-trier.de/db/conf/c++/c++91.html C++ Conference 1991]
* [[Andrew Koenig]] ('''1992'''). ''[https://www.semanticscholar.org/paper/Space-Efficient-Trees-in-C%2B%2B-Koenig/ea7fb1268b06304cffb292f1d8f4ace0ff62c82b Space-Efficient Trees in C++]''. [https://dblp.dagstuhl.de/db/conf/c++/c++92.html C++ Conference 1992]
* [https://en.wikipedia.org/wiki/Scott_Meyers Scott Meyers] ('''1992,2005'''). ''Effective C++: 50 Specific Ways to Improve Your Programs and Designs''. [https://en.wikipedia.org/wiki/Addison-Wesley Addison-Wesley]
* [[Andrew Koenig]] ('''1994'''). ''Templates and Generic Algorithms''. [https://dblp.org/db/journals/joop/index Journal of Object-Oriented Programming], Vol. 7 No. 3
* [[Andrew Koenig]] ('''1994'''). ''Generic Iterators''. [https://dblp.org/db/journals/joop/index Journal of Object-Oriented Programming], Vol. 7, No. 5
* [[Mathematician#Stroustrup|Bjarne Stroustrup]], [[Andrew Koenig]], [http://www.informit.com/authors/bio/764d4f1b-b868-4115-862e-4fe85e69f321 Barbara Moo] ('''1994'''). ''The C++ Programming Language''. [https://onlinelibrary.wiley.com/doi/book/10.1002/0471028959 Encyclopedia of Software Engineering], [https://en.wikipedia.org/wiki/John_Wiley_%26_Sons Wiley]
==1995 ...==
* [[Andrew Koenig]], [[Mathematician#Stroustrup|Bjarne Stroustrup]] ('''1995'''). ''[https://dl.acm.org/citation.cfm?id=229732 Foundations for Native C++ Styles]''. [https://onlinelibrary.wiley.com/loi/1097024x Software Practice and Experience], Vol 25, special issue S4
* [[Patrick Winston]] ('''1995'''). ''[http://people.csail.mit.edu/phw/Books/CPPBACK.HTML On To C++]''. [https://en.wikipedia.org/wiki/Addison-Wesley Addison Wesley]
* [[Greg Wilson]], [[Paul Lu]] (eds.) ('''1996'''). ''[https://mitpress.mit.edu/books/parallel-programming-using-c Parallel Programming Using C++]''. [https://en.wikipedia.org/wiki/MIT_Press MIT Press]
* [[Leen Ammeraal]] ('''1996'''). ''[http://home.planet.nl/%7Eammeraal/algds.html Algorithms and Data Structures in C++]''. [https://en.wikipedia.org/wiki/Wiley_(publisher) John Wiley]
* [[Andrew Koenig]], [http://www.informit.com/authors/bio/764d4f1b-b868-4115-862e-4fe85e69f321 Barbara Moo] ('''1997'''). ''[http://www.informit.com/store/accelerated-c-plus-plus-practical-programming-by-example-9780201703535 Ruminations on C++]''. [https://en.wikipedia.org/wiki/Addison-Wesley Addison-Wesley]
* [[Leen Ammeraal]] ('''1997'''). ''[http://home.planet.nl/%7Eammeraal/stlcpp.html STL for C++ Programmers]''. ISBN 0-471-97181-2, Chichester: [http://eu.wiley.com/WileyCDA/Section/id-300022.html John Wiley]
==2000 ...==
* [[Andrew Koenig]], [http://www.informit.com/authors/bio/764d4f1b-b868-4115-862e-4fe85e69f321 Barbara Moo] ('''2000'''). ''[http://www.acceleratedcpp.com/index.html Accelerated C++]''. [https://en.wikipedia.org/wiki/Addison-Wesley Addison-Wesley]
* [[Leen Ammeraal]] ('''2000'''). ''[http://home.planet.nl/%7Eammeraal/cppbook.html C++ for Programmers]''. ISBN 0-471-60697-9, Chichester: [http://eu.wiley.com/WileyCDA/Section/id-300022.html John Wiley]
* [[Mathematician#Stroustrup|Bjarne Stroustrup]], [[Andrew Koenig]], [http://www.informit.com/authors/bio/764d4f1b-b868-4115-862e-4fe85e69f321 Barbara Moo] ('''2001'''). ''The C++ Programming Language''. [http://onlinelibrary.wiley.com/book/10.1002/0471028959 Encyclopedia of Software Engineering]. [https://en.wikipedia.org/wiki/John_Wiley_%26_Sons Wiley]
* [[Mathematician#AAlexandrescu|Andrei Alexandrescu]] ('''2001'''). ''[https://en.wikipedia.org/wiki/Modern_C%2B%2B_Design Modern C++ Design: Generic Programming and Design Patterns Applied]''.
* [https://dblp.uni-trier.de/pers/hd/a/Akers:Robert_L=.html Robert L. Akers], [[Ira Baxter]], [http://www.semdesigns.com/Company/People/mmehlich/index.html Michael Mehlich] ('''2004'''). ''Invited application paper: re-engineering C++ components via automatic program transformation''. [http://www.informatik.uni-trier.de/~ley/db/conf/pepm/pepm2004.html#AkersBM04 PEPM 2004], [http://www.semdesigns.com/Company/Publications/component-reengineering-PEPM-2004.pdf pdf]
==2005 ...==
* [https://dblp.uni-trier.de/pers/hd/a/Akers:Robert_L=.html Robert L. Akers], [[Ira Baxter]], [http://www.semdesigns.com/Company/People/mmehlich/index.html Michael Mehlich], [https://dblp.uni-trier.de/pers/hd/e/Ellis:Brian_J= Brian J. Ellis], [https://dblp.uni-trier.de/pers/hd/l/Luecke:Kenn_R=.html Kenn R. Luecke] ('''2005'''). ''[http://www.computer.org/csdl/proceedings/wcre/2005/2474/00/24740013-abs.html Reengineering C++ Component Models via Automatic Program Transformation]''. [http://www.informatik.uni-trier.de/~ley/db/conf/wcre/wcre2005.html#AkersBMEL05 WCRE 2005]
* [https://dblp.uni-trier.de/pers/hd/a/Akers:Robert_L=.html Robert L. Akers], [[Ira Baxter]], [http://www.semdesigns.com/Company/People/mmehlich/index.html Michael Mehlich], [https://dblp.uni-trier.de/pers/hd/e/Ellis:Brian_J= Brian J. Ellis], [https://dblp.uni-trier.de/pers/hd/l/Luecke:Kenn_R=.html Kenn R. Luecke] ('''2007'''). ''Case study: Re-engineering C++ component models via automatic program transformation''. [http://www.informatik.uni-trier.de/~ley/db/journals/infsof/infsof49.html#AkersBMEL07 Information & Software Technology, Vol. 49, No. 3]
* [[Mathematician#Stroustrup|Bjarne Stroustrup]] ('''2008, 2014'''). ''[http://www.stroustrup.com/Programming/ Programming -- Principles and Practice Using C++]''. [https://en.wikipedia.org/wiki/Addison-Wesley Addison-Wesley]
==2010 ...==
* [https://en.wikipedia.org/wiki/Robert_C._Seacord Robert C. Seacord] ('''2010'''). ''Dangerous Optimizations and the Loss of Causality''. CS 15-392, [[Carnegie Mellon University]], [https://pubweb.eng.utah.edu/~cs5785/slides-f10/Dangerous+Optimizations.pdf slides as pdf]
* [https://stackoverflow.com/users/5597/anthony-williams Anthony Williams] ('''2012'''). ''[http://www.cplusplusconcurrencyinaction.com/ C++ Concurrency in Action: Practical Multithreading]''. <ref>[http://scottmeyers.blogspot.co.uk/2012/04/information-on-c11-memory-model.html Information on the C++11 Memory Model] by [https://en.wikipedia.org/wiki/Scott_Meyers Scott Meyers], April 24, 2012</ref>
* [https://pdos.csail.mit.edu/~xi/ Xi Wang], [https://pdos.csail.mit.edu/~hchen/ Haogang Chen], [https://homes.cs.washington.edu/~akcheung/ Alvin Cheung], [http://zhihaojia.com/ Zhihao Jia], [http://people.csail.mit.edu/nickolai/ Nickolai Zeldovich], [https://pdos.csail.mit.edu/~kaashoek/ M. Frans Kaashoek] ('''2012'''). ''Undefined Behavior: What Happened to My Code''? [https://pdos.csail.mit.edu/papers/ub:apsys12.pdf pdf] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=50186&start=80 Re: A note for C programmers] by [[Rein Halbersma]], [[CCC]], November 28, 2013</ref>
* [https://wdtz.org/ Will Dietz], [https://lipeng28.github.io/ Peng Li], [http://www.cs.utah.edu/~regehr/ John Regehr], [https://en.wikipedia.org/wiki/Vikram_Adve Vikram Adve] ('''2012'''). ''Understanding Integer Overflow in C/C++''. [http://www.cs.utah.edu/~regehr/papers/overflow12.pdf pdf]

=Andrew Koenig at Dr Dobbs=
{{Andrew Koenig at Dr Dobbs}}

=Forum Posts=
==1997 ...==
* [http://groups.google.com/group/rec.games.chess.computer/browse_frm/thread/5fba0f94be869f35 Search Degredation w/ C++] by Chris Jason Richards, [[Computer Chess Forums|rgcc]], June 12, 1997
: [http://groups.google.com/group/rec.games.chess.computer/msg/e27ff5ad3ac054ff Re: Search Degredation w/ C++] by [[Amir Ban]], [[Computer Chess Forums|rgcc]], June 17, 1997
* [https://www.stmintz.com/ccc/index.php?id=11617 Question to Amir Ban] by [[Bas Hamstra]], [[CCC]], November 05, 1997 <ref>[http://groups.google.com/group/rec.games.chess.computer/browse_frm/thread/5fba0f94be869f35 Search Degredation w/ C++] by Chris Jason Richards, [[Computer Chess Forums|rgcc]], June 12, 1997, post 4 and 6 by [[Amir Ban]]</ref>
* [http://groups.google.com/group/rec.games.chess.computer/browse_frm/thread/2d300db2c0e1c70e object oriented chess programming] by [[James Swafford|James Long]], [[Computer Chess Forums|rgcc]], December 31, 1997
: [http://groups.google.com/group/rec.games.chess.computer/msg/b048a5f34835f721 Re: object oriented chess programming] by [[David Fotland|Dave Fotland]], [[Computer Chess Forums|rgcc]], January 06, 1998
* [https://www.stmintz.com/ccc/index.php?id=74219 C or C++ for chess programming: speed] by [[Marc-Philippe Huget]], [[CCC]], October 20, 1999
==2000 ...==
* [https://www.stmintz.com/ccc/index.php?id=342885 C++ Programming Q: are const and define efficiency the same] by [[Federico Andrés Corigliano|Federico Corigliano]], [[CCC]], January 16, 2004
* [https://www.stmintz.com/ccc/index.php?id=389667 Kiwi for Win98 and input-reading stuff] by [[Alessandro Scotti]], [[CCC]], September 29, 2004 » [[Kiwi]], [[Windows]], [[Thread]]
==2005 ...==
* [http://bytes.com/topic/c/answers/128755-find-bug Find The Bug - C / C++] by [[David Rasmussen]], [http://bytes.com/ bytes.com], July 22, 2005 » [[Chezzz]]
* [http://www.talkchess.com/forum/viewtopic.php?t=21007 forcing compilers to inline (or to not inline)] by [[Wylie Garvin]], [[CCC]], May 04, 2008
==2010 ...==
* [http://talkchess.com/forum/viewtopic.php?t=39683 c or c++ ?] by ethan ara, [[CCC]], July 10, 2011
'''2012'''
* [http://www.talkchess.com/forum/viewtopic.php?t=42046 C++ templates question] by [[José C. Martínez Galán]], [[CCC]], January 18, 2012
* [http://www.talkchess.com/forum/viewtopic.php?t=44999 C++11 for chess engines] by [[Marco Costalba]], [[CCC]], September 03, 2012
* [http://www.talkchess.com/forum/viewtopic.php?t=45482 Has GCC caught up with Intel with respect to performance?] by [[Don Dailey]], [[CCC]], October 07, 2012
'''2013'''
* [http://www.talkchess.com/forum/viewtopic.php?t=47841 Need Help Getting GCC Working?!?] by [[Steve Maughan]], [[CCC]], April 23, 2013
* [http://www.open-std.org/pipermail/ub/2013-May/000005.html [ub] Objectives and tasks for SG12] by [http://www.cse.tamu.edu/people/faculty/gdr Gabriel Dos Reis], [http://www.open-std.org/ Open Standards], [http://www.open-std.org/pipermail/ub/ The ub Archives], May 29, 2013
* [http://www.talkchess.com/forum/viewtopic.php?t=48795 C++ Question] by Ted Wong, [[CCC]], July 30, 2013 » [[Thread]]
'''2014'''
* [http://www.open-chess.org/viewtopic.php?f=5&t=2618 C++11 threads seem to get shafted for cycles] by [[Dann Corbit|User923005]], [[Computer Chess Forums|OpenChess Forum]], March 18, 2014 » [[Parallel Search]], [[Senpai]], [[Thread]]
* [http://www.talkchess.com/forum/viewtopic.php?t=51824 c++11 std::atomic and memory_order_relaxed] by Kevin Hearn, [[CCC]], April 01, 2014 » [[Memory]]
* [http://www.talkchess.com/forum/viewtopic.php?t=51966 C++ puzzle] by [[Marco Costalba]], [[CCC]], April 12, 2014
* [http://www.talkchess.com/forum/viewtopic.php?t=53820 std::vector<> considered harmful] by [[Folkert van Heusden]], [[CCC]], September 25, 2014 » [[Move List]], [[Array]]
==2015 ...==
* [http://www.talkchess.com/forum/viewtopic.php?t=56303 Polling standard input from C++] by [[Steven Edwards]], [[CCC]], May 10, 2015
* [http://www.talkchess.com/forum/viewtopic.php?t=63978 BMI2 intrinsics in gcc] by [[Álvaro Begué]], [[CCC]], May 14, 2017 » [[BMI2]]
* [http://www.talkchess.com/forum/viewtopic.php?t=65523 Advantages of C++11 for Chess?] by [[Steve Maughan]], [[CCC]], October 23, 2017

=External Links=
* [https://en.wikipedia.org/wiki/C%2B%2B C++ from Wikipedia]
* [https://en.wikipedia.org/wiki/C%2B%2B03 C++03 from Wikipedia]
* <span id="11"></span>[https://en.wikipedia.org/wiki/C%2B%2B11 C++11 from Wikipedia]
* <span id="14"></span>[https://en.wikipedia.org/wiki/C%2B%2B14 C++14 from Wikipedia]
* <span id="17"></span>[https://en.wikipedia.org/wiki/C%2B%2B17 C++17 from Wikipedia]
* [https://en.wikipedia.org/wiki/C%2B%2B20 C++20 from Wikipedia]
* [https://en.wikibooks.org/wiki/C%2B%2B_Programming C++ Programming from Wikibooks]
* [https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms More C++ Idioms - Wikibooks]
* [https://en.wikiversity.org/wiki/C%2B%2B C++ - Wikiversity]
* [http://www.cplusplus.com/ cplusplus.com - The C++ Resources Network]
* [http://www.fredosaurus.com/notes-cpp/index.html C++ Notes] by [[Fred Swartz]]
* [http://www.softwarepreservation.org/projects/c_plus_plus/ C++ Historical Sources Archive — Software Preservation Group], [[The Computer History Museum]]
* [https://www.agner.org/optimize/#manuals Agner Fog's manuals]
: [https://www.agner.org/optimize/calling_conventions.pdf Calling conventions for different C++ compilers and operating systems] (pdf) by [http://www.agner.org/ Agner Fog]
* [http://www.tantalon.com/pete/cppopt/main.htm C++ Optimization Strategies and Techniques] by [http://www.tantalon.com/pete.htm Pete Isensee]
* [http://yosefk.com/c++fqa/index.html C++ Frequently Questioned Answers] by [http://yosefk.com/about.html Yossi Kreinin]
* [https://groups.google.com/forum/#!forum/comp.lang.c++ comp.lang.c++] The object-oriented C++ language.

=References=
<references />
'''[[Languages|Up one Level]]'''

Navigation menu