當前位置:首頁 » 文件傳輸 » vector無法訪問
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

vector無法訪問

發布時間: 2022-05-13 22:49:51

❶ C++關於vector的輸入和輸出問題!!

這個錯誤還是很明顯的,樓主先把i的值存進vector,然後再給i賦值。所以當然什麼都沒有了,而且輸出也不對,值是按順序存進vector的,所以要順序輸出。

下面是完整代碼:

#include<iostream>
#include<vector>
usingnamespacestd;

intmain(){
chari;
vector<char>v1;
cin>>i;//要先給i賦值才能存進vector里
v1.push_back(i);
cout<<v1[0]<<endl;//存進去的i在第零個位置
system("pause");
}

❷ C++ vector和list的區別

主要區別:
1 是否支持隨機訪問
vector支持下標直接訪問,理論上事件復雜度為O(1);list無法隨機訪問中間的元素,只能從兩頭開始遍歷,逐個獲取。
2 內存分布:
vector可以看成是內存連續的,list的內存則由指針連接而成;vector每次擴大內存都會開辟額外的內存來「准備新元素插入」;list在兩端增刪元素的時間復雜度為O(1),vector為O(n)。從數據結構與演算法的角度更細致的對比如下:
時間復雜度: vector list
查找: O(1) O(n)
新增: O(n) O(1)
刪除: O(n) O(n)
空間復雜度:
連續內存分配與拷貝 不連續內存分配
適用場景:
對查找要求高的場景 對順序沒有要求的序列
數據不頻繁增刪 數據頻繁增刪

❸ C++容器Vector問題

首先,不管怎樣,你這個static絕對是不科學的。
假設有一個頭文件,叫test.h 來定義與VECCOM相關的操作之類的東西。然後test.cpp用來實現tetst.h中定義的操作。然後在main.cpp文件中,引入test.h頭文件,調用test.h中定義的方法,以及訪問VECCOM變數,那麼存在以下幾種情況:
1。VECCOM定義在test.h中,static vector<COMPARADB*> VECCOM;

那麼test.cpp中實現的那些在test.h中定義的方法是可以訪問VECCOM的,但是在main.cpp文件中是無法直接訪問VECCOM變數的(不管有沒有 extern static vector<COMPARADB*> VECCOM;這一句,都是一樣的),只能通過調用test.h調用的方法這種形式訪問。盡管編譯會通過。
2。VECCOM定義在test.h中,vector<COMPARADB*> VECCOM;//注意不是static
這種是無法通過編譯的。不論是在test.cpp中加入extern還是在main.cpp中加入extern都將會出現:一個或多個多重定義的符號 這個問題。
3。VECCOM定義在test.cpp中,static vector<COMPARADB*> VECCOM;
那麼在main.cpp中,如果沒有extern vector<COMPARADB*> VECCOM;這句,直接使用 VECCOM會導致未定義變數的錯誤。如果添加vector<COMPARADB*> VECCOM;這句,又會出現無法解析的外部符號的鏈接錯誤。
4。正確的做法:VECCOM定義在test.cpp中,vector<COMPARADB*> VECCOM;//沒有satatic
在main.cpp中 extern vector<COMPARADB*> VECCOM; 此時,OK,在test.cpp以及在main.cpp中都能直接使用VECCOM。

綜上就是說,加入static 的全局變數,是只限於當前文件使用的,其他文件無法訪問。
而其他文件想要訪問在別的文件中定義的全局變數,是需要用extern 外部鏈接一下的。

❹ 為什麼vector的remove

algorithm中的remove只是簡單的把要remove的元素移到了容器最後面,迭代器還是 可以訪問到的。因為algorithm通過迭代器操作,不知道容器的內部結構,所以無法做到真正刪除。 vector

❺ C++ 無法訪問private 成員

你的函數全部都沒寫public 屬性
c++里類默認的訪問屬性是private的
並且在你的input_student函數里 直接就訪問了student的私有成員,不出錯才怪。
成員是私有的,那你就得定義對應的公有訪問/修改函數。
只有類里的成員函數才能訪問private的成員。
對象是類的一個實例,是屬於類的外部了,這樣直接訪問私有成員肯定是錯的

❻ 【求助】C++中靜態的vector導致的問題

用this如果是NULL 那麼直接用類名

比如類名是 Class A{};

A &testA;
g_all_process.push_pack(testA);

❼ c++友元函數訪問不了私有數據

std::ostream &operator<<(std::ostream os, const Vector &v)的Vector是不是要填上數據類型,讓其變為類

Vector<int> &V

❽ java的Vector類訪問不了,為什麼

同目錄下是不是也有文件名也叫Vector?
所以虛擬機優先查找本文件中的Vector類,所以找不到了

❾ vector的迭代器能不能用for循環訪問

可以的,像這樣:

it = xxx.begin();
for(i = 0; i < count; ++i)
{
......
++it;
}

這里的count也可以換成it.end()