Practical C++17 - Jason Turner
The first of two talks from Jason Turner from Meeting C++ 2017 is now released:
Practical C++17
by Jason Turner
March 19-21, Madrid, Spain
April 1-4, Bristol, UK
June 16-21, Sofia, Bulgaria
By Meeting C++ | Feb 16, 2018 03:24 AM | Tags: meetingcpp intermediate c++17 basics
The first of two talks from Jason Turner from Meeting C++ 2017 is now released:
Practical C++17
by Jason Turner
By Adrien Hamelin | Feb 14, 2018 10:16 PM | Tags: basics
Quick A: Welcome to undefined behaviour.
Recently on SO:
Vector going out of bounds without giving error
STL vectors perform bounds checking when the
.at()
member function is called, but do not perform any checks on the[]
operator.When out of bounds, the
[]
operator produces undefined results.
By Adrien Hamelin | Jan 24, 2018 06:38 PM | Tags: c++17 basics
Small reminder:
C++17: Initializers for if & switch statements
by Marc Gregoire
From the article:
Two small, but very useful C++17 features are initializers for if and switch statements. These can be used to prevent polluting the enclosing scope with variables that should only be scoped to the if and switch statement. The for statement already supports such initializers since the beginning...
By Adrien Hamelin | Jan 24, 2018 06:34 PM | Tags: basics
Quick A: This is not a valid statement.
Recently on SO:
Is (4 > y > 1) a valid statement in C++? How do you evaluate it if so?
The statement (4 > y > 1) is parsed as this:
((4 > y) > 1)The comparison operators < and > evaluate left-to-right.
The 4 > y returns either 0 or 1 depending on if it's true or not.
Then the result is compared to 1.
In this case, since 0 or 1 is never more than 1, the whole statement will always return false.
By Meeting C++ | Jan 24, 2018 02:03 AM | Tags: strong types meetingcpp intermediate basics
A talk on Strong Types from Meeting C++ 2017!
Strong types for strong interfaces
by Jonathan Boccara
By Marco Arena | Jan 22, 2018 09:47 AM | Tags: visual studio basics
Visual Studio 2017 15.6 Preview 2 includes a set of updates to the C++ Core Guidelines Check extension:
C++ Core Check in Visual Studio 2017 15.6 Preview 2
by Sergiy Oryekhov
From the article:
We added more checks to help with the effort of making code cleaner, more secure and maintainable. This document is a quick overview of the new rules...
By Meeting C++ | Jan 20, 2018 10:10 AM | Tags: tmp templates template meta programming meetingcpp basics
A new talk from Meeting C++ 2017
An inspiring introduction into Template Meta Programming
by Milosz Warzecha
By Meeting C++ | Jan 19, 2018 10:21 AM | Tags: python programming meetingcpp intermediate haskell experimental efficiency basics
A new video from Meeting C++ 2017:
Improve your C++ with Inspirations from other languages
by Andreas Reischuck
By Meeting C++ | Jan 10, 2018 03:05 AM | Tags: meetingcpp lightningtalks basics
The 3rd and last part of lightning talks at Meeting C++ 2017
function_ref
by Vittorio Romeo
A variant of recursive decent parsing
by Björn Fahller
A quick view into a compiler
by Arvid Gerstmann
Algorithms and Iterators for Multidimensional Arrays
by Cem Bassoy
A short story about configuration file formats
by Andreas Rein
By Adrien Hamelin | Jan 8, 2018 11:32 AM | Tags: basics
Quick A: Do not confuse mathematical concepts with C++ terminology.
Recently on SO:
Confused about vectors
You are getting confused because the mathematical concept of a vector can mean a "collection of data" and that is what you were taught int v[10] was. The actual name for that in C++ (and most other languages) is an "array" not a vector.
The libraries referred to in C++ Primer have a class called "vector" which is an implementation of an array. They are similar, but not the same.
I hope that clears that up a bit. You are probably confused because you were taught that int v[10] is a vector, but it is "not really" in C++. It's an array. Use that term to refer to it. If you ever refer to it as a vector, you will confuse others and yourself.