int numPairs(int n)
{
int count=0;
bool prevOne=0; // 1 if previous bit was 1.
while(n!=0)
{
bool currOne=(n&1)==1;
if(currOne && prevOne)
count++;
n=n>>1;
prevOne=currOne;
}
return count; // no need divide count by 2 as count exactly specifies number of 1bit pairs.
}
На окнах, определенно с помощью CVS Черепахи и WinMerge удовлетворит потребности. Я также думаю, что это была бы хорошая идея изучить, как сделать некоторые операции с командной строкой также.
Во-первых: Строго говоря ни один из инструментов, заключенных в кавычки здесь до сих пор, не является CVS клиенты . Они - все "просто" GUI frontends сверху клиента командной строки CVSNT (IIRC, только SmartCvs использует простой клиент CVS).
Так, мне было бы интересно слышать, какие конкретные операции, Вы думаете, являются медленными в WinCvs. Реальное узкое место обычно является самим протоколом CVS, и это будет вести себя то же, независимо от которого GUI frontend Вы используют.
кроме того, то, под чем точно Вы подразумеваете, "не имеет никакого диалогового окна слияния"?
WinCvs интегрируется приятно с WinMerge (также как редактор конфликта).
И если Вы говорили о выполняющихся операциях Слияния, Вы используете команду Update, которая имеет вкладку "Merge options"...
Для предварительного просмотра обновлений в WinCvs существует также несколько подходов: Если бы Вы просто хотите видеть, какие файлы обновить, можно использовать команду (cvs -n up
) Query Update или если Вы хотите детали, Вы можете просто Разность (использование WinMerge) против HEAD
(также работы над несколькими файлами и папками).
я имел и Черепаху и WinCvs, установленный в течение многих лет, но обычно нахожу, что не использую Черепаху кроме тех случаев, когда я чувствую себя виновным о не получении, о чем вся суета...;)
Это - весь вопрос вкуса, который я предполагаю, особенно предпочитаете ли Вы интегрированное решение, которое пытается не помешать по автономному приложению, которое вынуждает Вас принять сознательные решения относительно своих задач управления версиями.
WinCvs для меня делает все, что я хочу и больше, но тогда меня, вероятно, считают продвинутым пользователем и в большой степени смещенным, в котором, поскольку я раньше был cvsgui модератором списка рассылки и автором FAQ и также записал многие макросы запаса.
С другой стороны, действительно не было никакой активной разработки на WinCvs для quuuuiiiite некоторое время...: (
TortoiseCVS с WinMerge является моим выбором также для CVS.