我对C++数据结构了解不多,但我想知道你(程序员)使用STL还是编写自己的代码?毕竟STL设计用于执行搜索,替换以及更多数据列表等任务.
有人真的不需要了解链表,二进制搜索等等,因为我可以使用STL.你会建议什么?
我有点困惑这两个看起来对我来说都是一样的.虽然可能会出现不同编译器的容量和大小可能不同的情况.它可能有什么不同.它还说,如果我们内存不足,容量会发生变化.
所有这些事情对我来说都不太清楚.
有人可以给出解释.(如果可能的话和示例,或者如果我可以对任何程序进行任何测试来理解它)
我正在学习C++,并且我开始知道指针如果保持未初始化可能指向内存中的随机位置并产生内存可能被其他程序使用的问题.
现在,如果是这种情况,我们就不应该在代码的任何部分使用这一行:
int* ptr;
Run Code Online (Sandbox Code Playgroud)
相反,我们应该有类似的东西
int* ptr = NULL; //Is this going to avoid the problem
Run Code Online (Sandbox Code Playgroud)
请建议,因为我int* ptr;在很多书中看过第一行(),所以我对此表示怀疑.如果可能的话也举一些例子.
#!/usr/bin/python3
username = 'joe'
# generate passphrase
pw_length = 6
phrase = subprocess.check_output(['pwgen', str(pw_length), '1'])
phrase = phrase.decode('utf-8').strip()
dev_null = open('/dev/null', 'w')
passwd = subprocess.Popen(['sudo', 'passwd', user], stdin=subprocess.PIPE,
stdout=dev_null.fileno(),
stderr=subprocess.STDOUT)
passwd.communicate( ((phrase + '\n')*2).encode('utf-8') )
if passwd.returncode != 0:
raise OSError('password setting failed')
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个错误:
bash-3.00# python ./pass2.py
Traceback (most recent call last):
File "./pass2.py", line 6, in ?
phrase = subprocess.check_output(['pwgen', str(pw_length), '1'])
NameError: name 'subprocess' is not defined
Run Code Online (Sandbox Code Playgroud) 我看到有人有一个文件(我猜一个批处理文件).在单击批处理文件时,他能够登录到多个站点.(也许它是用VB完成的.)
我在Google上找了这样一个脚本,但没有找到任何有用的东西.
我知道一些C++和UNIX(也有一些HTML和JavaScript).我不知道是否可以在使用这些语言的Windows机器上完成,但即使可以完成,我认为与VB或C##或其他一些高级语言相比也很困难.
我学会了如何使用批处理文件中包含的基本Windows批处理命令打开多个站点,如:
start http://www.gmail.com
start http://stackoverflow.com
Run Code Online (Sandbox Code Playgroud)
但我仍然无法弄清楚实际点击批处理文件如何帮助我登录到网站,甚至没有输入用户名和密码.
我是否需要开始学习Visual Basic,.NET或Windows批处理编程才能执行此操作?
还有一件事:我还可以用它来登录远程桌面吗?
int main()
{
const int SIZE = 10;
int a[SIZE] = {10, 2, 35, 5, 10, 26, 67, 2, 5, 10};
std::ostream_iterator< int > output(cout, " ");
std::vector< int > v(a, a + SIZE);
std::vector< int >::iterator newLastElement;
cout << "contents of the vector: ";
std::copy(v.begin(), v.end(), output);
newLastElement = std::remove(v.begin(), v.end(), 10);
cout << "\ncontents of the vector after remove: ";
//std::copy(v.begin(), newLastElement, output);
//this gives the correct result : 2 35 5 26 67 2 5
std::copy(v.begin(), v.end(), …Run Code Online (Sandbox Code Playgroud) static int count;
int main()
{
static int count;
}
Run Code Online (Sandbox Code Playgroud)
在任何函数内部和外部声明的静态变量之间是否有任何区别?
(我的意思是变量计数的范围和可见性)
我不知道发生了什么,但我没有从执行的远程命令获得完整的输出可能因为期望内部缓冲区被执行.
proc SendCommands { Commands } {
global prompt log errlog
foreach element [split $Commands ";"] {
expect {
-re $prompt
{send -- "$element\r"}
}
set outcome "$expect_out(buffer)"
foreach line [split $outcome \n] {
foreach word [regexp -all -inline {\S+} $line] {
if {( [string index [string trimleft $line " "] 0 ] == "%")} {
puts "$outcome"
exit 1
}
}
}
puts "$outcome"
}
}
set timeout 30
foreach host [ split $hosts "\;" ] {
spawn ssh …Run Code Online (Sandbox Code Playgroud) 已经重载的运算符<<,>>,=等多次使用.
我想到的一个例子是当我们添加字符串时说:
string name = string("munish")+"kumar";
+运算符在字符串类中重载.
但是当我们添加像1 + 2这样的数字时(似乎不像是重载的操作员调用)
我只是想知道编译器是如何进行二进制加法的.
如果编译器这么做的话,我不需要担心它,只是好奇的问题.