Baz
Baz

Reputation: 13135

std::string::max_size() as static member

Why isn't max_size a static member of std::string?

This compiles but I think its strange that a property common to all strings can only be accessed via an instance of a string:

std::size_t max_size = std::string().max_size();

Why is it implemented like this?

Upvotes: 8

Views: 600

Answers (1)

utnapistim
utnapistim

Reputation: 27365

Why isn't max_size a static member of std::string?

Because max_size return value depends on the allocator instance that the string instance uses internally.

Upvotes: 9

Related Questions