Home Database Mysql Tutorial STL vector总结(四) Element access(37)

STL vector总结(四) Element access(37)

Jun 07, 2016 pm 03:42 PM
access element stl vector Summarize

如果容器的大小大于n,不会抛出异常。 否则,将导致未知的错误。 ——————————————————————————————————————————————————— public member function vector std:: vector::at reference at (size_type n);c

如果容器的大小大于n,不会抛出异常。

否则,将导致未知的错误。




———————————————————————————————————————————————————

public member function

std::vector::at

<span>      reference at (size_type n);
const_reference at (size_type n) const;</span>
Copy after login

返回一个指向位置n的元素的引用。

该方法将自动检测n是否是在一个有效的范围,如果不是则将抛出out_of_range异常。

另一个对照的方法是operator[],这个方法不会检测数据的有效性。

Parameters

n

n是元素在vector中的位置。

如果n大于或者等于数组的size,那么将会抛出out_of_range异常。

注意,第一个元素的位置为0而不是1.

Return value

返回值为元素在容器内指定位置的值

当n不在范围内时抛出out_of_range异常。




__________________________________________________________________________________________________________________________________________

public member function

std::vector::front

<span>      reference front();
const_reference front() const;</span>
Copy after login

访问第一个元素

返回第一个元素的引用。

和begin不一样,begin是返回一个迭代器,而front是返回一个直接引用。

对一个空的容器调用该方法将会导致不可预料的结果

Parameters

none

Return value

一个指向该vector容器中第一个元素的引用.




———————————————————————————————————————————————————

public member function

std::vector::back

<span>      reference back();
const_reference back() const;</span>
Copy after login

返回最后一个元素的引用。

和end不一样的是,end是返回一个指向超尾元素的迭代器,而这个函数是直接返回一个引用。

对一个空的容器调用该方法会导致未知的行为。

Parameters

none

Return value

返回值是一个指向vector中最后一个元素的引用。



—————————————————————————————————————————————————————————————————————————————

public member function

std::vector::data

<span>      value_type* data() noexcept;
const value_type* data() const noexcept;</span>
Copy after login

返回一个直接指向内存中存储vector元素位置的指针。

因为vector里面的元素都是顺序连续存放的,该指针可以通过偏移量来访问数组内的所有元素。

Parameters

none

Return value

返回一个指针指向数组第一个元素所在的内存。


——————————————————————————————————————————————————————————————————

//总结的不好的地方请多多指导,可以在下面留言或者点击左上方邮件地址给我发邮件,指出我的错误以及不足,以便我修改,更好的分享给大家,谢谢。


author:天下无双

Email:coderguang@gmail.com

2014-8-27

于GDUT

——————————————————————————————————————————————————————————————————






Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What are the benefits of multithreading in c#? What are the benefits of multithreading in c#? Apr 03, 2025 pm 02:51 PM

The advantage of multithreading is that it can improve performance and resource utilization, especially for processing large amounts of data or performing time-consuming operations. It allows multiple tasks to be performed simultaneously, improving efficiency. However, too many threads can lead to performance degradation, so you need to carefully select the number of threads based on the number of CPU cores and task characteristics. In addition, multi-threaded programming involves challenges such as deadlock and race conditions, which need to be solved using synchronization mechanisms, and requires solid knowledge of concurrent programming, weighing the pros and cons and using them with caution.

How to avoid third-party interfaces returning 403 errors in Node environment? How to avoid third-party interfaces returning 403 errors in Node environment? Apr 01, 2025 pm 02:03 PM

How to avoid the third-party interface returning 403 error in the Node environment. When calling the third-party website interface using Node.js, you sometimes encounter the problem of returning 403 error. �...

How to use sql if statement How to use sql if statement Apr 09, 2025 pm 06:12 PM

SQL IF statements are used to conditionally execute SQL statements, with the syntax as: IF (condition) THEN {statement} ELSE {statement} END IF;. The condition can be any valid SQL expression, and if the condition is true, execute the THEN clause; if the condition is false, execute the ELSE clause. IF statements can be nested, allowing for more complex conditional checks.

Unable to log in to mysql as root Unable to log in to mysql as root Apr 08, 2025 pm 04:54 PM

The main reasons why you cannot log in to MySQL as root are permission problems, configuration file errors, password inconsistent, socket file problems, or firewall interception. The solution includes: check whether the bind-address parameter in the configuration file is configured correctly. Check whether the root user permissions have been modified or deleted and reset. Verify that the password is accurate, including case and special characters. Check socket file permission settings and paths. Check that the firewall blocks connections to the MySQL server.

How to solve the 'Network Error' caused by Vue Axios across domains How to solve the 'Network Error' caused by Vue Axios across domains Apr 07, 2025 pm 10:27 PM

Methods to solve the cross-domain problem of Vue Axios include: Configuring the CORS header on the server side using the Axios proxy using JSONP using WebSocket using the CORS plug-in

How to efficiently obtain component_verify_ticket in EasyWechat 5.5? How to efficiently obtain component_verify_ticket in EasyWechat 5.5? Apr 01, 2025 pm 12:42 PM

Get ComponentVerify in EasyWechat5.5...

How to use Debian Apache logs to improve website performance How to use Debian Apache logs to improve website performance Apr 12, 2025 pm 11:36 PM

This article will explain how to improve website performance by analyzing Apache logs under the Debian system. 1. Log Analysis Basics Apache log records the detailed information of all HTTP requests, including IP address, timestamp, request URL, HTTP method and response code. In Debian systems, these logs are usually located in the /var/log/apache2/access.log and /var/log/apache2/error.log directories. Understanding the log structure is the first step in effective analysis. 2. Log analysis tool You can use a variety of tools to analyze Apache logs: Command line tools: grep, awk, sed and other command line tools.

Navicat connects to database error code and solution Navicat connects to database error code and solution Apr 08, 2025 pm 11:06 PM

Common errors and solutions when connecting to databases: Username or password (Error 1045) Firewall blocks connection (Error 2003) Connection timeout (Error 10060) Unable to use socket connection (Error 1042) SSL connection error (Error 10055) Too many connection attempts result in the host being blocked (Error 1129) Database does not exist (Error 1049) No permission to connect to database (Error 1000)

See all articles