Вопросы по теме 'c++11'
Какие хорошие практики программирования изменятся с C++11?
Например, «Не возвращайте объекты по значению, если их копирование дорого» (не всегда можно использовать RVO). Этот совет может измениться из-за ссылок на rvalue.
То же самое можно сказать и о хранении коллекций указателей на объекты, потому что...
11.01.2024
std :: string без выделения свободной памяти для хранилища
У меня вопрос очень похож на
Как выделить std :: строка в стеке с использованием строковой реализации glibc?
но думаю стоит спросить еще раз.
Я хочу std::string с локальным хранилищем, которое переливается в бесплатное хранилище....
01.11.2023
Лямбда-расширение шаблона Variadic
Я пытаюсь реализовать класс делегата, следуя примеру Херба Саттера . В этой статье есть разделы, дублирующие несколько шаблонов; один шаблон для количества аргументов в списке (пример 7, строки 41-59) 1 . Я пытаюсь заменить это вариативным...
26.12.2023
Как получить тип цитирования функции-члена?
Возможный дубликат: Можно ли эмулировать шаблон‹авто X›?
Следующий код C++ работал в vc2010
template<class T, DWORD (T::*memFnPtr)() >
static DWORD WINAPI ThreadProcAdapter( __in LPVOID lpParameter )
{
T* pThis =...
18.11.2023
Как часто я должен повторно использовать C++?
Мне просто интересно, достаточно ли запустить генератор случайных чисел только один раз в начале программы. Я пишу функции, которые используют случайные числа. Я никогда не задаю генератор rand() внутри функции, а оставляю вызов srand() в основной...
07.12.2023
Почему я не могу зафиксировать эту ссылку («& this») в лямбда-выражении?
Я понимаю, что правильный способ захвата this (для изменения свойств объекта) в лямбде выглядит следующим образом:
auto f = [this] () { /* ... */ };
Но мне любопытна следующая особенность, которую я видел:
class C {
public:...
28.10.2023
Реализация списка смежности в C++
Я ищу краткое и точное представление списка смежности графа в С++. Мои узлы - это просто идентификаторы узлов. Вот как я это сделал. Просто хочется узнать, что об этом думают специалисты. Есть ли способ лучше?
Это реализация класса (ничего...
23.12.2023
Частичная специализация: используйте основные члены шаблона
Рассмотреть возможность
enum My_Enum {
x1, x2
};
template<class T, My_Enum X>
class A {
void f1();
void f2();
};
template<class T>
class A<T,x1> {
void g();
}
Я хочу использовать функции-члены f1() и...
02.12.2023
Многопоточность С++ 11: вывод на консоль
Рассмотрим функцию, которая принимает массив из 100 элементов данных и выводит их на консоль.
Теперь предположим, что я запускаю два потока функции на многоядерной машине. Поскольку это многоядерная машина, существует большая вероятность того, что...
21.01.2024
Рендеринг сцены с помощью openGL
Я должен визуализировать сцену, включающую различные сетки с помощью openGL. сетки определяются следующим образом:
struct Mesh {
frame3f frame; // frame
vector<vec3f> pos; // vertex position
vector<vec3f> norm;...
08.01.2024
увеличение / индексирование priority_queue в STL
Я использую STL priority_queue в качестве структуры данных в моем графическом приложении. Вы можете смело считать это продвинутой версией алгоритма связующего дерева Прима. С помощью алгоритма я хочу эффективно найти узел в очереди приоритетов (а не...
03.12.2023
Возвращение пустоты?
Я не понимаю, почему этот код компилируется без ошибок:
#include <iostream>
template <class T>
struct Test
{
static constexpr T f() {return T();}
};
int main()
{
Test<void> test;
test.f(); // Why not an error?...
04.12.2023
Есть ли какая-то техническая причина, почему std::lower_bound не специализирован для итераторов красно-черного дерева?
Я всегда предполагал, что std::lower_bound() выполняется за логарифмическое время, если я передаю ему пару красно-черных итераторов дерева ( set::iterator или map::iterator ). Мне пришлось дважды обжечься, чтобы заметить, что std::lower_bound()...
07.01.2024
Как сделать лямбду другом класса?
Скажем, у меня есть класс:
class A {
int a;
};
И у меня есть лямбда:
auto function = [](A* a) {
a->a; // <== gives an error in this line.
};
function(new A);
Есть ли способ использовать частный член/метод внутри лямбды?...
26.11.2023
Контейнер производных объектов/умных указателей
Допустим, у меня есть:
class Base {...};
class Derived1 : public Base {...};
class Derived2 : public Base {...};
class Derived3 : public Base {...};
class Store {
public:
void Add(const Base&); //Adds mix of Derived1/2/3
private:...
21.11.2023
Как сделать вложенные Initializer_lists в Visual C++ 2013
У меня есть программа, которая работает в g++ и clang, используя вложенный список initializer_list. В Visual C++ одномерный вариант работает, а двухмерный вложенный список инициализаторов — нет. Есть ли трюк, чтобы заставить Visual C++ работать, или...
08.12.2023
ошибка: шаблон‹класс _Tp› std::complex‹_Tp› std::polar(const _Tp&, const _Tp&
Я работаю над затмением (kepler) на С++ 11, и мне нужно использовать pow для комплексного числа ( std::complex ), но я получаю следующее
ошибка: шаблон std::complex‹_Tp> std::polar(const _Tp&, const _Tp&)
int Group::getActivity() const{...
15.11.2023
Целочисленное переполнение с UDL (определяемым пользователем литералом) для __int128 @ min отрицательное значение
Для ясности и простоты я буду сокращать следующие числа следующим образом:
−170,141,183,460,469,231,731,687,303,715,884,105,728 as -170…728
170,141,183,460,469,231,731,687,303,715,884,105,727 as 170…727
Эти числа представляют...
04.11.2023
Почему указатель на int преобразуется в void *, а указатель на функцию преобразуется в bool?
Проект стандарта C ++ (N3337) описывает преобразование указателей следующим образом:
4.10 Преобразования указателей
2 rvalue типа «указатель на cv T », где T - тип объекта, может быть преобразовано в rvalue типа «указатель на cv void...
19.12.2023
clang vs gcc - оптимизация, включая оператор new
У меня есть этот простой пример, который я тестировал, и я заметил, что оптимизации gcc (-O3) не так хороши, как clang, когда задействован оператор new . Мне было интересно, в чем может быть проблема и можно ли каким-то образом заставить gcc...
03.01.2024
Новые материалы
Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..
Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально
Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..
Частный метод Python: улучшение инкапсуляции и безопасности
Введение
Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..
Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования
Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..
Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv)
Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..
Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..
Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..