Q:

How can I update a value of a vector or a map

There is 12 speed limits.  I would like to make a statistic which counts them separately.  How I can update them?  I don't want to push a new element every iteration.  I just want to update their value every iteration.  Is there any method which is better than mine?  I started to code like this:
if (pSeg->pRule->b_IsRealSpeedLimitValid)
{

    realSpeedLimit validSpeedLimit;

    speedLimitMap.insert(std::pair<int, realSpeedLimit>(10, validSpeedLimit));
    speedLimitMap.insert(std::pair<int, realSpeedLimit>(20, validSpeedLimit));
    speedLimitMap.insert(std::pair<int, realSpeedLimit>(30, validSpeedLimit));
    speedLimitMap.insert(std::pair<int, realSpeedLimit>(35, validSpeedLimit));
    speedLimitMap.insert(std::pair<int, realSpeedLimit>(40, validSpeedLimit));
    speedLimitMap.insert(std::pair<int, realSpeedLimit>(50, validSpeedLimit));
    speedLimitMap.insert(std::pair<int, realSpeedLimit>(60, validSpeedLimit));
    speedLimitMap.insert(std::pair<int, realSpeedLimit>(70, validSpeedLimit));
    speedLimitMap.insert(std::pair<int, realSpeedLimit>(80, validSpeedLimit));
    speedLimitMap.insert(std::pair<int, realSpeedLimit>(90, validSpeedLimit));
    speedLimitMap.insert(std::pair<int, realSpeedLimit>(100, validSpeedLimit));
    speedLimitMap.insert(std::pair<int, realSpeedLimit>(110, validSpeedLimit));

    switch (pSeg->pRule->Num_RealSpeedLimit)
    {
    case 10:
        auto search = speedLimitMap.find(10);
        if (search ! = speedLimitMap.end())
        {
            ++validSpeedLimit.totalSegmentCount;
            validSpeedLimit.isValid = true;
            segLength += validSpeedLimit.totalSegmentLength;
        }
        break;
    case 20:
        break;
    case 25:
        break;
    case 30:
        break;
    case 40:
        break;
    case 50:
        break;
    case 60:
        break;
    case 70:
        break;
    case 80:
        break;
    case 90:
        break;
    case 100:
        break;
    case 110:
        break;
    default:
        break;
    }

}

A:

Yes, there is loads here that you don't need to do. 
switch (pSeg->pRule->Num_RealSpeedLimit)
{
case 10:
    auto search = speedLimitMap.find(10);

Why repeat 10?  You already have it in a variable! 
auto search = speedLimitMap.find(pSeg->pRule->Num_RealSpeedLimit);

Now there's no need for a switch at all as this'll execute the same for all those numbers. 
You also have a bug in that you're not using the iterator you obtained via .find, but just modifying the local variable validSpeedLimit that you copied into each map element.  I assume that this is wrong. 

A further improvement your .insert is valid, but verbose.  You could use either of the following instead:
speedLimitMap.emplace(10, validSpeedLimit));
speedLimitMap[10] = validSpeedLimit;

Since validSpeedLimit is default-constructed, we don't even need all these copies actually; just default-construct in-place:
speedLimitMap.emplace(10, {});

It's really hard to guess what your program does because you gave no context, but (assuming your cases are all supposed to be repeats of the first one, since you talked about "iterations") here's what I'd do:
auto& rule = *pSeg->pRule;
if (rule.b_IsRealSpeedLimitValid)
{
    static constexpr const int keys[] = {
       10, 20, 30, 350, 40, 50, 60, 70, 80, 90, 100, 110
    };

    for (const auto i : keys)
       speedLimitMap.emplace(i, {});

    if (rule. Num_RealSpeedLimit)
    {
        if (auto it = speedLimitMap.find(rule. Num_RealSpeedLimit); it ! = speedLimitMap.end())
        {
            auto& validSpeedLimit = it->second;

            ++validSpeedLimit.totalSegmentCount;
            validSpeedLimit.isValid = true;
            segLength += validSpeedLimit.totalSegmentLength;
        }
    }
}

Now, I assume that in reality you're using this map later, otherwise the logic of keeping all those elements around really doesn't make any sense.