# Something about basecamp.cpp

**URL:** https://discourse.cataclysmdda.org/t/something-about-basecamp-cpp/1692
**Category:** The Toolbox
**Created:** [June 10, 2013, 8:52am UTC](https://discourse.cataclysmdda.org/t/something-about-basecamp-cpp/1692 "2013-06-10T08:52:58Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![utunnels](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/utunnels/32/81_2.png) [@utunnels](https://discourse.cataclysmdda.org/u/utunnels)
#### Post date: [June 10, 2013, 8:52am UTC](https://discourse.cataclysmdda.org/t/something-about-basecamp-cpp/1692/1 "2013-06-10T08:52:58Z")

</div>

```
std::string savename = name;
replace(savename.begin(), savename.end(), ' ', '_');

```

It doesn’t make sense or I just miss something? What is repalce? Shouldn’t it be savename.repalce instead?

---

<div class="post-metadata">

### Author: ![Williham](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/williham/32/845_2.png) [@Williham](https://discourse.cataclysmdda.org/u/Williham)
#### Post date: [June 10, 2013, 9:00am UTC](https://discourse.cataclysmdda.org/t/something-about-basecamp-cpp/1692/2 "2013-06-10T09:00:15Z")

</div>

Replace in this case is a generic c++stdlib algorithm, specifically:

```auto
void replace (ForwardIterator first, ForwardIterator last, const T& old_value, const T& new_value)
```

Why exactly this approach was chosen is indeed somewhat puzzling, but that’s life for you.

---

<div class="post-metadata">

### Author: ![utunnels](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/utunnels/32/81_2.png) [@utunnels](https://discourse.cataclysmdda.org/u/utunnels)
#### Post date: [June 10, 2013, 9:28am UTC](https://discourse.cataclysmdda.org/t/something-about-basecamp-cpp/1692/3 "2013-06-10T09:28:23Z")

</div>

Oh I see. Thank you.
