Карта STL C++:: сотрите несуществующий ключ

Я использовал метод String.valueOf(aDoubleNumber) и изменил% f на% s в ваших выражениях printf. Это сработало для меня.

public static void main(String[] args)
    {
        double mean = 0.5929934999999997;
        double stddev = 0.00876990421552567;
        double confidenceLo = 0.12345666612123;
        double confidenceHi = 0.123456784435369;

        String confidence = "95% confidence interval";
        int width = confidence.length();
        String f = "%-".concat(String.valueOf(width))
            .concat("s = ");

        // changed the %f to %s and used String.valueOf method to convert first
        System.out.printf(f.concat("%s\n"), "mean", String.valueOf(mean));
        System.out.printf(f.concat("%s\n"), "stddev", String.valueOf(stddev));
        System.out.printf(f.concat("[%s, %s]"), confidence,
                (String.valueOf(confidenceLo)), String.valueOf(confidenceHi));
    }

Вывод:

среднее = 0,5929934999999997

stddev = 0,00876990421552567

95% доверительный интервал = [0,124345666612123, 0,1231456784435369]

44
задан fuad 30 March 2009 в 01:20
поделиться

2 ответа

Да, на самом деле, std::map::erase() возвращает size_type, который указывает на количество стертых ключей. Таким образом это возвращается 0 ни для чего стертого и 1 для чего-то стертого для карты.

55
ответ дан rlbond 26 November 2019 в 22:14
поделиться

Это прекрасно подходит, mymap.erase ('D') возвратится 0 в этом случае.

См. http://www.cplusplus.com/reference/stl/map/erase.html

7
ответ дан brian-brazil 26 November 2019 в 22:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: