Вопросы по теме 'c++11'
Можно ли использовать шаблоны лямбда-функций?
В C ++ 11 есть способ создать шаблон лямбда-функции? Или он слишком специфичен для шаблонов?
Я понимаю, что вместо этого я могу определить классический шаблонный класс / функтор, но вопрос больше похож: позволяет ли язык создавать шаблоны...
115521 просмотров
schedule
02.05.2024
istream_iterator пытается проанализировать недопустимые данные
Привет, я надеялся, что кто-то поможет понять это поведение приведенного ниже кода.
#include <iostream>
#include <algorithm>
#include <string>
#include <limits>
#include <fstream>
#include <iterator>
#include...
259 просмотров
schedule
20.04.2024
карта, лямбда, remove_if
Итак, у меня проблема с алгоритмом std::map, lambda и stl (remove_if). На самом деле тот же код с std::list или std::vector работает хорошо.
Мой тестовый пример:
#include <map>
#include <iostream>
#include <algorithm>
struct...
11927 просмотров
schedule
14.03.2024
можно ли установить значение по умолчанию для std::tr1::tuple?
(я использую Visual C++ 2010) предположим, что я определил такой кортеж:
typedef std::tr1::tuple<
int //i want to set its default value to 9
, double //i want to set its default value to 3.3
, int //i want to set its default value to 2...
1389 просмотров
schedule
26.03.2024
Кортеж произвольного, но известного во время компиляции количества типов
Скажем, у меня есть тип, который параметризован другим интегральным типом POD:
template< size_t N >
struct MyFoo { /* ... */ };
С ним можно иметь кортеж из них:
typedef std::tuple< MyFoo< 1 >, MyFoo< 2 >, MyFoo< 3...
173 просмотров
schedule
02.05.2024
Вычисляется ли выражение присваивания С++ 11 справа налево?
Порядок вычисления выражения всегда был источником неопределенного поведения в C++. В стандарте С++ 11 наконец указано, каким должен быть порядок оценки?
Теперь мы знаем значения var1 и var2 следующего выражения:
int var1 =10, var2=20;...
1494 просмотров
schedule
17.03.2024
деструктор shared_ptr, копия и неполный тип
У меня есть заголовочный файл foo.h , подобный этому (несвязанные вещи опущены):
#pragma once
#include <memory>
class Bar;
struct Foo
{
std::shared_ptr<Bar> getBar();
std::shared_ptr<const Bar> getBar() const
{...
1469 просмотров
schedule
30.04.2024
Эффективность виртуальной функции и «финальное» ключевое слово
Рассмотрим программу, в которой есть класс Foo , содержащий функцию Foo::fn , объявленную следующим образом:
virtual void fn();
и подкласс Foo под названием Bar . Будет ли объявление Bar::fn таким:
virtual void fn() override...
1216 просмотров
schedule
31.03.2024
Инициализация члена статического шаблона класса
У меня возникла проблема при попытке инициализировать статические члены шаблона статического класса.
По сути, я думал, что этот подход будет полезен для: у меня есть много объектов, которые, конечно, все одного и того же базового типа, но они имеют...
110 просмотров
schedule
23.03.2024
Является ли перегрузка оператора сложения ссылкой на rvalue в качестве его левого операнда хорошей практикой?
Предполагая, что str является классом для хранения строковых значений, он перегрузит оператор сложения, чтобы поддерживать конкатенацию строк. Нравится:
str operator+(const str &a,const str &b);
Но проблема в том, что если у нас...
576 просмотров
schedule
16.03.2024
Атомика C11 и C ++ 11: семантика получения-выпуска и барьеры памяти
Я использую атомику C11 * для управления перечислением состояний между несколькими потоками. Код выглядит следующим образом:
static _Atomic State state;
void setToFoo(void)
{
atomic_store_explicit(&state, STATE_FOO,...
773 просмотров
schedule
13.05.2024
Шаблоны параметров без типов. Почему глобальный и эталонный?
template<typename Body>
Body solve(Body a, Body b){
Body zero(0);
return zero;
}
template<typename Body, Body& zero>
Body solve(Body a, Body b){
return zero;
}
complex<double> zero(0);
int main() {...
62 просмотров
schedule
12.05.2024
Использование fstream для чтения из двоичного файла и сохранения результатов в векторе
Я работаю над проектом для своего класса CS202. У меня есть предоставленный двоичный файл неизвестного размера с именем data.dat , и мне нужно прочитать целые числа (которые я не знаю заранее) из файла и сохранить их в векторе правильного размера....
357 просмотров
schedule
17.03.2024
operator›› на связанном кортеже с std::ignore
Я наткнулся на следующую проблему при разработке «общего» читателя:
Следующий код работает отлично (вам нужна поддержка С++ 1z для компиляции, поскольку он использует constexpr if, но с небольшими изменениями он также должен компилироваться с С++...
89 просмотров
schedule
13.03.2024
Понимание оптимизированной реализации declval
Глядя на исходный код libstdc++, я нашел следующую declval реализацию:
template<typename _Tp, typename _Up = _Tp&&>
_Up __declval(int); // (1)
template<typename _Tp>
_Tp __declval(long); // (2)
template<typename...
521 просмотров
schedule
12.03.2024