在C ++中向量大小是否大于2147483647?

时间:2019-05-09 12:49:47

标签: c++ vector

const [isValidated, setIsValidated] = useState(false)

const handleSubmit = async event => {
    const form = event.currentTarget
    event.preventDefault()

    if (form.checkValidity() === false) {
        event.stopPropagation()
    } else {
        setIsValidated(true)
        await ProductsApiService.postProduct(product)

        props.onModalClose()
        props.onRefreshList()
        setIsValidated(false)
    }
}


<Form onSubmit={handleSubmit} validated={isValidated}>
   <Form.Group as={Col} controlId="productPrice">
      <Form.Label>EUR</Form.Label>
         <Form.Control
            onChange={handleChange}
            type="number"
            name="eur"
            placeholder="Price EUR"
            required />
    </Form.Group>

    <Form.Row>
       <Button variant="primary" type="submit">
       Confirm
       </Button>
    </Form.Row>
</Form>

有错误。但是,我知道C ++中的向量大小没有限制。

2 个答案:

答案 0 :(得分:0)

感谢您的所有答复。我知道向量大小有限制。如果在VS2015中选择x86作为编译环境,则得到vector的 max_size 为1073741823,这比选择X64作为环境要小。谢谢!

答案 1 :(得分:0)

最大向量大小是64位无符号整数,在实践中是无限的。但是您使用的是32位整数文字。尝试在数字后添加后缀“ ull”以获得64位文字。

std::vector<int> large(50000000000ull, 0);