##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::return_temporary_buffer

From cppreference.com
< cpp‎ | memory

Defined in header `<memory>` |  |
template< class T > void return_temporary_buffer( T* p ) |  |

Deallocates storage previously allocated with std::get_temporary_buffer.

### [edit] Parameters

p | - | the pointer previously returned by std::get_temporary_buffer

### [edit] Return value

(none)

### [edit] Example

[edit]
Run this code

    #include <algorithm>
    #include <iostream>
    #include <memory>
    #include <string>

    int main()
    {
        const std::string s[] = {"string", "1", "test", "..."};
        std::string* p = std::get_temporary_buffer<std::string>(4).first;

        std::copy(std::begin(s), std::end(s),
                  std::raw_storage_iterator<std::string*, std::string>(p));

        for (std::string* i = p; i != p+4; ++i) {
            std::cout << *i << '\n';
            i->~basic_string<char>();
        }
        std::return_temporary_buffer(p);
    }

Output:

    string
    1
    test
    ...

### [edit] See also

get_temporary_buffer | obtains uninitialized storage (function template) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/memory/return_temporary_buffer&oldid=58359"