Exceptional coding style
Mehrdad
wfunction at hotmail.com
Wed Jan 16 10:42:36 PST 2013
On Wednesday, 16 January 2013 at 18:38:21 UTC, Mehrdad wrote:
> On Wednesday, 16 January 2013 at 11:00:48 UTC, mist wrote:
>>> When you have a ton of similar lines of code which need to be
>>> edited in parallel, lining them up lets you edit all of them
>>> in one keystroke. Saves me quite a lot of annoying editing in
>>> the long run, actually.
>>
>> When you have a ton of similar lines of code, you'd better
>> start thinking about templates or mixins :P
>
>
> Easy to say in theory, but makes absolutely no sense in many
> cases. =P
>
> Example:
> boost::unordered_set<int> foo;
> boost::unordered_map<int> bar;
>
>
> and now I want to change 'boost' to 'std' because C++11 came
> out.
>
> Templates? Mixins? wtf lol
Another example:
template<class T> struct foo
{
int x;
int operator+(int) const { }
int operator-(int) const { }
int operator*(int) const { }
};
template<class T> int foo<T>::operator+(int x) const { return
this->x + x; }
template<class T> int foo<T>::operator-(int x) const { return
this->x - x; }
template<class T> int foo<T>::operator*(int x) const { return
this->x * x; }
let's say now I want to add a new template parameter, class U, to
all the functions.
If you can teach me how "templates" or "mixins" would solve my
problem here I'd love to know.
More information about the Digitalmars-d
mailing list