hashtable local iterator

Marc Glisse marc.glisse@inria.fr
Mon Dec 19 21:02:00 GMT 2011


On Mon, 19 Dec 2011, Jonathan Wakely wrote:

> If you use std::tuple to store the members it will automatically use
> EBO if possible.
>
> If two types might be the same use std::tuple<X,Y,X> where X might be
> empty and Y is not empty, that ensures the two X objects will not have
> the same address so can have zero size.

I just tried this:

#include <iostream>
#include <tuple>
struct A{};
int main(){
         std::cout << sizeof(std::tuple<A,A,int>) << std::endl;
         std::cout << sizeof(std::tuple<A,int,A>) << std::endl;
         std::cout << sizeof(std::tuple<int,A,A>) << std::endl;
}

and it output 8, 8 and 4.
(if I have more than 4 A at the end, the size will increase)

-- 
Marc Glisse



More information about the Libstdc++ mailing list