4 ms·
This sounds awful and unintuitive. Stick with methods, please.
by seabee 16y ago
This sounds awful and unintuitive. Stick with methods, please.
- mahmud 16y agoHuh? C++ doesn't have "methods". What language are you really thinking of?
- chc 16y ago"Method" is OO parlance for a function that is associated with a class or object. C++ has those.
- mahmud 16y agoIndeed, but I said "for implementing high-performance strings." I would love to hear about the OP's ideas for faster variable-length and adjustable string implementation using C++ member or friend functions (the C++ implementation of "methods".) When it comes to performance, the same design I detailed is used by all the "high-per" libraries that I know of. If we're talking API aesthetics, fast implementations can always be wrapped with something more attractive. P.S. Let me make it clear that I am not advocating operator overloading for resizing strings and that the OP actually does have a point. (sorry if I came off as a douche in that regard.) But implementing fast-strings as classes + methods is not really fastest way in C++.
- loewenskind 16y agoI'm getting the impression you don't know C++ that well. A "member" function or "method" in C++ is just a function that has access to other members of its class. If you don't add the virtual keyword there doesn't have to be any difference between it and a normal function (besides the mentioned scoping rules) and it could even be inlined. Overloaded operators aren't any faster than functions.