IMO. code that predominantly uses ".get()" to access a boost::shared... pointer (vs. the more subtle "->") is enough less readable that it rates an extra local variable like:

    boost::shared_array<char> protected_data(new char[max_ipc_message_size]);
    char* data = protected_data.get(); // provide friendlier access to protected_data.