The quote seems to be out of context.
Plain pointers do have value semantics:
char const *x = "x", *y;
y = x;
These are C++ references that don't have value semantics. They can be initialized but not re-assigned.
The quote probably refers to function argument passing: an argument to a function can be passed by value (copied) or by reference. By reference in this context means passing by pointer or accepting a reference. In this context an object passed by reference doesn't have value semantics, i.e. no copy of an object is done and all changes to an object made by a function are visible when the function returns. However, all function arguments are copies, in a sense: the arguments the caller supplies get copied into the stack frame (or passed in registers as an optimization) of the called function. Passing by reference fundamentally means passing an address of an object (via pointer or reference). No matter how many times one copies an address it still points to the same object.