Все вопросы: [temporary]

11 вопросов

2
голосов
2ответов
539 просмотров

Есть ли способ отменить предыдущие зарегистрированные действия с помощью ярлыка?

У меня есть блок с множеством действий, у некоторых действий есть ярлыки, а у некоторых даже такие же. Это потому, что они принадлежат разным модулям в приложениях и не находятся в контексте одновременно. Теперь у меня есть глобальный немодальный диалог (называемый objectinspector), который м...

3
голосов
2ответов
452 просмотров

Is it possible to change the temporary object and to pass it as an argument?

Is it possible to change the temporary object and to pass it as an argument? struct Foo { Foo& ref() { return *this; } Foo& operator--() { /*do something*/; return *this; } // another members }; Foo getfoo() { return Foo(); } // return Foo() for example or something else voi...

228
голосов
11ответов
96426 просмотров

How come a non-const reference cannot bind to a temporary object?

Why is it not allowed to get non-const reference to a temporary object, which function getx() returns? Clearly, this is prohibited by C++ Standard but I am interested in the purpose of such restriction, not a reference to the standard. struct X { X& ref() { return *this; } }; X getx(...

6
голосов
2ответов
2644 просмотров

stringstream temporary ostream return problem

I'm creating a logger with the following sections: // #define LOG(x) // for release mode #define LOG(x) log(x) log(const string& str); log(const ostream& str); With the idea to do: LOG("Test"); LOG(string("Testing") + " 123"); stringstream s; LOG(s << "Testing" << 1 <&...

6
голосов
4ответов
2156 просмотров

Should this C++ temporary binding to reference member be illegal?

My question (which will follow after this, sorry about the long intro, the question is down there in bold) is originally inspired by Item 23 in Herb Sutters Exceptional C++ where we find something like this: ... int main() { GenericTableAlgorithm a( "Customer", MyWorker() ); a.Process(); ...

27
голосов
8ответов
2685 просмотров

Запрещение создания временных объектов

Во время отладки сбоя в многопоточном приложении я, наконец, обнаружил проблему в этом заявлении: CSingleLock(&m_criticalSection, TRUE); Обратите внимание, что он создает безымянный объект класса CSingleLock и, следовательно, объект критического раздела разблокируется сразу после этог...

3
голосов
5ответов
1605 просмотров

Почему компилятор Visual C ++ вызывает здесь неправильную перегрузку?

Почему компилятор Visual C ++ вызывает здесь неправильную перегрузку? У меня есть подкласс ostream, который я использую для определения буфера для форматирования. Иногда я хочу создать временный и сразу вставить в него строку с помощью обычного оператора < M2Stream() << "the string...

9
голосов
1ответов
6190 просмотров

Постоянная ссылка на временный

После прочтения эту статью в блоге Херба Саттера, я немного поэкспериментировал и наткнулся на то, что меня озадачило. Я использую Visual C ++ 2005, но был бы удивлен, если бы это зависело от реализации. Вот мой код: #include <iostream> using namespace std; struct Base { //Ba...

2
голосов
3ответов
387 просмотров

правила с временными объектами и аргументами по ссылке

скажем, у меня есть класс: class A { public: A() {} }; и функция: void x(const A & s) {} и я: x(A()); Не мог бы кто-нибудь объяснить мне правила передачи временных объектов по ссылке? Что касается того, что позволяет компилятор, где вам нужна const, если происходит нея...

4
голосов
6ответов
1932 просмотров

Перечисление C ++ неправильно распознается компилятором

Может ли кто-нибудь объяснить, почему следующий код не компилируется (на g ++ (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-49))? struct X { public: enum State { A, B, C }; X(State s) {} }; int main() { X(X::A); } Я получаю следующее сообщение: jjj.cpp: в функции int main (): j...

4
голосов
3ответов
2431 просмотров

Скрыть (или свернуть) столбцы текста в (g) Vim (по горизонтали)

есть ли способ скрыть столбцы буфера (текстовый файл, вы понимаете, о чем я) при его редактировании в Vim? например текст, видимый в буфере перед скрытием столбцов 2 и 3: abbcccccc accdddddd И после их скрытия: acccccc adddddd (Не говоря уже о том, что я работаю с действительно огр...