The reason is that the typename _Dp = default_delete<_Tp>
is an empty class and the tuple
template employs empty base class optimization.
If you instantiate the unique_ptr
with a non-default delete, you should see the size increase.
More Related Contents:
- C++ Need help for a homework program that reads in a list of doubles from a file and add a string to each double
- How to enforce move semantics when a vector grows?
- Using generic std::function objects with member functions in one class
- Is signed integer overflow still undefined behavior in C++?
- Move capture in lambda
- Reusing a moved container?
- Error “undefined reference to ‘std::cout'”
- ‘colon’ and ‘auto’ in for loop c++? need some help understanding the syntax
- Computing length of a C string at compile time. Is this really a constexpr?
- Detecting constexpr with SFINAE
- Constexpr Math Functions
- Does moving leave the object in a usable state?
- Copy constructor is not inherited
- C++11 lambda implementation and memory model
- Is it possible to “store” a template parameter pack without expanding it?
- C++11: Compile Time Calculation of Array
- Why do auto and template type deduction differ for braced initializers?
- What is the meaning of auto when using C++ trailing return type?
- Does this code from “The C++ Programming Language” 4th edition section 36.3.6 have well-defined behavior?
- C++11 range based loop: How does it really work
- std::function and std::bind: what are they, and when should they be used?
- constexpr vs. static const: Which one to prefer?
- How do shared pointers work?
- C++11 std::threads vs posix threads
- Why isn’t std::array::size static?
- How to know underlying type of class enum?
- In lambda functions syntax, what purpose does a ‘capture list’ serve?
- Multiple “could not be resolved” problems using Eclipse with minGW
- c++11 std::async doesn’t work in mingw
- Explicit Return Type of Lambda