C++

C++17: std::optional<>

Written by on November 21, 2017 in C++, Programming with 0 Comments
C++17: std::optional<>

Suppose we want to write a function that returns a value, but with the possibility that  the computation might fail. This failure can be represented as an exception, or as a return value that unamibiguously denotes failure (for example, -1). Throwing an exception is a strong form of failure and might not be appropriate in […]

Continue Reading

C++17: std::variant<>

Written by on November 5, 2017 in C++, Programming with 0 Comments
C++17: std::variant<>

C++17 introduces a new type-safe union in the form of std::variant. At any time, it can store a single value from one of many types. We need to include <variant> to use this feature. Let us look at a simple example to get started: First, we define a variant object v1 to hold either an int […]

Continue Reading

C++17: Initialization in Selection Statements

Written by on October 21, 2017 in C++, Programming with 0 Comments
C++17: Initialization in Selection Statements

C++17 enhances if and switch statements with the ability to define  variables whose life-time is limited to the corresponding scope. This is in keeping with the general guideline that variables should have a tight scope, i.e.,  should be defined as close to the point of use as possible and should not live beyond where they […]

Continue Reading

KP Astrology REST API

Written by on August 30, 2017 in Astrology, C++ with 0 Comments
KP Astrology REST API

In today’s post I want to share my experience in implementing a set of REST API calls for Astrology. The series on iLangGen will resume after this. As readers of this column probably know, I am the author of an Astrology software called KPAstro. You can read about it here. First released in the year […]

Continue Reading

C++14: Return Type Deduction for Normal Functions

Written by on April 8, 2016 in C++, Programming with 0 Comments

In C++11, a function must specify its return type in one of the following two ways: int aFunction(int arg) {     return arg * 2; } (or) auto aFunction(int arg) -> int {     return arg * 2; } The first is the classic function definition syntax. The second form was introduced in […]

Continue Reading

User-defined Literals in C++

Written by on March 27, 2016 in C++, Music, Programming with 0 Comments
User-defined Literals in C++

C++11 introduced user-defined literals, allowing programmers to define special suffixes that can be associated with the built-in literal types: character, integer, float, boolean, and pointer. When designed and used properly, these provide nice syntactic sugar facilitating readability and at the same time, increasing type safety. For example, I can define an operator _kg that can be […]

Continue Reading

Top