Vim: инвертировать строку (по словам)

Это моя строка:

«это мое предложение»

Я хотел бы получить этот результат:

«предложение мое это это»

Я хотел бы выбрать несколько слов в строке (в буфере) и слово за словом перевернуть. void fooT (T && x) {} Я могу вызвать его, используя GCC 4.5, с a, ar или arr: int a, & ar = ...

Если я определю функцию, которая принимает параметр ссылки rvalue:

template 
void fooT(T &&x) {}

Я могу назвать это, используя GCC 4.5, либо a , ar , либо arr :

int a, &ar = a, &&arr = 7;
fooT(a); fooT(ar); fooT(arr);

Однако, вызывая аналогичный, не шаблонная функция ,

void fooInt(int &&x) {}

с любым из этих трех аргументов завершится ошибкой. Я готовился укрепить свои знания о форварде , но это сбило меня с курса. Возможно, это GCC 4.5; Я был удивлен, обнаружив, что первый пример из Краткое введение в ссылки на Rvalue также дает ошибку компиляции:

A a;
A&& a_ref2 = a;  // an rvalue reference

6
задан GManNickG 3 April 2011 в 21:16
поделиться