&gt; fun aside, name and service are both const char* so I find it funny that they are set in the program, I do understand that from the callers perspective they don&#x27;t change, but still bad form<p>Correct me if I&#x27;m wrong (I haven&#x27;t programmed in C++ in forever), but aren&#x27;t &quot;name&quot; and &quot;service&quot; pointers to constant arrays of characters rather than constant pointers to (mutable) arrays of characters?  In the first case, you&#x27;re saying you have a variable that points to a memory location; the variable itself can be changed, but the data in memory at that location cannot.  In the second case, you&#x27;re saying that you cannot change the variable that contains the memory address; however, you <i>can</i> change the data in memory at that location.<p>(And if I remember correctly, I believe there are also such things as constant pointers to constant memory...)