Форум программистов, компьютерный форум CyberForum.ru

copy on write оптимизация - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ C++ and dll -> нужна консультация на моём примере http://www.cyberforum.ru/cpp-beginners/thread574850.html
Нужно загрузить несколько классов в dll, а потом, в другом проекте прочитать эти классы из dll и, используя этот dll с помощью механизмов позднего связывания что-нибудь поделать) Классы есть: файл.h #pragma once #include <vector> #include <algorithm> #include <time.h> #include <iostream>
C++ Нахождение минимальной строки в массиве и смена мест в ней строк Из 32 положительных, отрицательных и нулевых значений чисел сформируйте матрицу 4 х 8. Поменяйте местами строку, содержащую минимальный элемент, с первой строкой, выдайте преобразованную матрицу. Помогите. Вроде написал, но выдает кривую матрицу, с небесными числами(порядка миллиадров и т.п.) // lb61.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h"... http://www.cyberforum.ru/cpp-beginners/thread574847.html
C++ scanf,cin разбор ввода данных
Доброго времени суток :) Подскажите как взять с консоли или скажем с файла(fscanf) 2 числа и текст между (текст и числа разделены знаками препинания) или до них вот пример: 15.Text.23 Text.15.23 Text:15:23 логично что ...
Двойной указатель C++
Это не совсем C++ вроде, а просто C, но поясните, пожалуйста, зачем в коде в строчку **sums=NULL используется двойной указатель? #include <stdio.h> #include <process.h> #include <math.h> float *a, *b, *x, *y, **sums; int N, K; //N - number of data points //K - polinom power //K<=N
C++ как узнать время работы программы решения алгоритма http://www.cyberforum.ru/cpp-beginners/thread574816.html
Добрый вечер! Подскажите, пожалуйста, как сделать так, чтобы программа выводила на экран время, затраченное на решение алгоритма? Можно ли узнать, сколько ресурсов затрачено на решение? #include <iostream.h> #include <conio.h> #include <windows.h> #include<iomanip.h> char NEWT; char*RUS(char*TEXT) {
C++ последовательность Даны n, последовательность n x , x ,...x 1 2 . Получить (1+R)/(1+S), где R – сумма тех членов последовательности, которые не превосходят 1, а S – сумма членов, больших 1. Использовать динамические массивы. подробнее

Показать сообщение отдельно
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
15.05.2012, 21:37     copy on write оптимизация
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <vector>
 
template< class T >
class copy_on_write_sample {
public:
    copy_on_write_sample() 
    : m_vec()
    , m_pvec(&m_vec)
    , m_replace(false)
    {}
 
    copy_on_write_sample(copy_on_write_sample const& t) 
    : m_vec()
    , m_pvec(t.m_pvec)
    , m_replace(true)
    {}
 
    copy_on_write_sample& operator = (copy_on_write_sample const& t)
    {
        m_replace = true;
        m_pvec    = t.m_pvec;
        return *this;
    }
 
    void push_back(T const& val)
    {
        if (m_replace)
        {
            m_replace = false;
            m_vec = *m_pvec;
            m_pvec = &m_vec;
        }
 
        m_pvec->push_back(val);
    }
private:
    std::vector<T>  m_vec;
    std::vector<T>* m_pvec;
    bool m_replace;
};
 
Текущее время: 02:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru