Handling C-like strings in C++11 We have two C-strings and for their concatenation we need to know the size of resulting string. And we want to calculate it at compilation stage. How can I improve this solution? 

char s1[] = "string1";
char s2[] = "string2";
constexpr auto SIZE = 
sizeof(s1) / sizeof(*s1) + sizeof(s2) / sizeof(*s2) + 2; // + for space and \0
char ss[SIZE];
This is one case where using the preprocessor may be worthwhile (despite the lack of namespace awareness).  In the code below, ss[] not only gets an appropriate size without any effort on your part, it's actually populated with the concatenated text at compile time.

#define S1 "string1"
#define S2 "string2"

// optionally, create real character arrays so you can modify them etc.
char s1[] = S1;
char s2[] = S2;

// now the magic - automatic concatenation of adjacent string literals
char ss[] = S1 S2;