станд. константы:: карта <повышение:: кортежи:: кортеж, станд.:: строка>?

Общий шаблон поиска и замены:

:s/search/replace/

Заменяет первое вхождение слова «поиск» на «заменить» для текущей строки

:s/search/replace/g

Заменяет все вхождения 'search' на 'replace' для текущей строки, 'g' означает сокращение от 'global'

Эта команда заменит каждое вхождение 'search' на 'replace только для текущей строки. % Используется для поиска по всему файлу. Для подтверждения каждой замены в интерактивном режиме добавьте «c» для подтверждения:

:%s/search/replace/c

«Интерактивное подтверждение», заменив «поиск» на «замена» для всего файла

вместо символ%, вы можете использовать диапазон номеров строк (обратите внимание, что символ '^' является специальным символом поиска для начала строки) :

:14,20s/^/#/

Вставляет Символ «#» в начале строк 14-20

Если вы хотите использовать другой символ комментария (например, //), измените разделитель команд:

:14,20s!^!//!

Вставляет последовательность символов «//» в начале строк 14-20

Или вы всегда можете просто экранировать символы // как:

:14,20s/^/\/\//

Вставляет последовательность символов «//» в начале строк 14-20

Если вы не видите номеров строк в вашем редакторе, просто введите следующее

:set nu
8
задан Piotr Dobrogost 9 July 2009 в 19:59
поделиться

2 ответа

Я попробовал это, но ничего не вышло, потому что ключи карты должны быть сопоставимы (с std :: less , поэтому должен быть оператор < определено). Операторы сравнения boost :: tuple определены в заголовке boost / tuple / tuple_comparison.hpp .

После включения этот код работает нормально:

#include <boost/assign/list_of.hpp>
#include <boost/tuple/tuple.hpp>
#include <boost/tuple/tuple_comparison.hpp>
#include <map>
#include <string>

using std::string;
typedef boost::tuple<string, string, string> tpl_t;

int main() {
    using boost::assign::map_list_of;
    std::map<tpl_t, string> const m = 
        map_list_of(tpl_t("a","b","c"), "c")(tpl_t("x","y","c"), "z");
}
22
ответ дан 5 December 2019 в 07:36
поделиться

Я бы попробовал

const map<x3_string_tuple, string> query_selector_map = map_list_of<x3_string_tuple, string>
(x3_string_tuple("4556", "SELECT", "FILENAME"), "4556_SELECT_FILENAME");

Но, честно говоря, может быть проще просто иметь 3 отдельных списка строк, а затем один за другим объединить их в кортеж и добавить его на карту .

0
ответ дан 5 December 2019 в 07:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: