Если вы хотите сохранить const int*
s, сохраните const int*
s. Если вы хотите сохранить int*
s вместо этого, то сделайте это, но вы не можете смешивать и сопоставлять это (по крайней мере, не без хака, который вы уже использовали).
Выберите один и придерживайтесь его.
Я полагаю, что Вы на самом деле обращаетесь к TR1, а не TR2. Призыв к предложениям по TR2 открыт, но не ожидайте видеть много перемещения, пока новый стандарт C++ не отсутствует. Кроме того, хотя повышение является поставщиком реализации TR1, dinkumware, и FSF GNU являются другими поставщиками - на повышении VC2005, вероятно, самый легкий способ получить доступ к этой функциональности.
Библиотеки от повышения, которые, вероятно, будут иметь большую часть значения,
Документация для создания повышения постепенно улучшалась для последних нескольких выпусков, текущее руководство по началу работы вполне подробно изложено. интеллектуальный указатель и связывает, должен работать от заголовочных файлов и IMO, это самые полезные элементы TR1.
Часть красоты Повышения - то, что весь код находится в заголовочных файлах. Они имеют к по шаблонным причинам. Таким образом, вероятно, загрузка кода и включая его в Вашем проекте будет работать. Существуют некоторые библиотеки в Повышении, которым действительно нужна компиляция, но, пока Вам не нужны они...
Библиотеки, которыми я больше всего интересуюсь от TR1/TR2, являются потоками и связанной атомной энергетикой.
Компиляция библиотек повышения для себя на самом деле довольно проста, если не, который хорошо зарегистрировал. Документация находится в jamroot файле. Выполненный bjam --help
в корневом каталоге повышения для подробного списка опций. Как пример я использовал следующую командную строку для создания моего текущего набора с повышением 1.36.0:
bjam --build-type=complete --toolset=msvc --build-dir=c:\boost\build install
Это работало в течение приблизительно половины часа на моей машине и помещало получающиеся файлы в c:\boost