有些语言只能声明一个函数返回一个像普通函数一样的数组,比如Java:
public String[] funcarray() {
String[] test = new String[]{"hi", "hello"};
return test;
}
Run Code Online (Sandbox Code Playgroud)
为什么C++不支持这样的东西int[] funcarray(){}?你可以返回一个数组,但是制作这样一个函数真的很麻烦.而且,我听说字符串只是char的数组.所以如果你能用C++返回一个字符串,为什么不用数组?
我已经阅读过C++标准不允许的内容enum an_enum { a, b, c, };,而C的后期版本(我认为从90年代中期开始)确实允许使用尾随逗号进行此类声明.如果C++应该与C具有向后兼容性,那么为什么禁止使用此功能呢?任何特殊原因?
我还读到这样的尾随逗号实际上是好的,所以这只会增加混乱.
嘿,我想扩展我的C++知识,所以我要做的第一件事是网络编程.
我想制作一个IRC机器人(希望能教会我关于套接字编程和网络主题),但我不知道从哪里开始.如果有人能够向我解释IRC机器人如何工作以及如何制作它们,并指导我学习一些资源,那将非常棒.简单的片段也很棒......
谢谢!
编辑:
忘了提我用ubuntu,所以windows方式不是一个选择
我正在尝试将带有Android的UDP数据包发送到我的计算机上用C#编写的服务器.当我在手机上运行应用程序时,我会收到非法状态异常.我认为这可能与在主要活动上执行网络操作有关,但我不知道如何解决这个问题.这是我的客户:
public class MainActivity extends Activity {
WifiManager wifi;
InetAddress dev_ip;
final int serverPort = 31337;
Thread drawThread = new Thread(new drawer());
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//set up wifi and connection
wifi = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
int ip = info.getIpAddress();
String ipaddr = (ip & 0xff) + "." + (ip >> 8 & 0xff) + "." + (ip >> 16 & 0xff) + "." + (ip >> 24 & 0xff);
try {
dev_ip …Run Code Online (Sandbox Code Playgroud) 我一直认为函数原型必须包含函数的参数及其名称.但是,我只是尝试了这个:
int add(int,int);
int main()
{
std::cout << add(3,1) << std::endl;
}
int add(int x, int y)
{
return x + y;
}
Run Code Online (Sandbox Code Playgroud)
它奏效了!我甚至尝试过极端谨慎编译:
g++ -W -Wall -Werror -pedantic test.cpp
Run Code Online (Sandbox Code Playgroud)
它仍然有效.所以我的问题是,如果你不需要函数原型中的参数名,为什么它这么常见呢?这有什么用途吗?它与功能的签名有关吗?
只要变量是const,初始化可变大小的数组时GCC不会出错,但是当它不是时,它就不会编译.
这背后的原因是什么?这样做有什么不妥:
int size = 7;
int test[size] = {3, 4, 5};
Run Code Online (Sandbox Code Playgroud)
根本不会编译,但如果我不初始化test []那么它会编译!这对我来说没有任何意义,因为据我所知,无论什么(这意味着我使用的整数文字都不是真的),需要根据它的大小(7个整数)来使堆栈框架适合这个数组.如果我没有弄错的话,有任何意义,那么如果我初始化它会有什么不同?
只是我疯狂的C++设计问题中的另一个......
谢谢!
我正在关注Django教程,突然当我尝试访问http://127.0.0.1:8000/admin/时,它给了我一个TemplateSyntaxError.
/ admin /中的TemplateSyntaxError
渲染时捕获ViewDoesNotExist:尝试导致模块polls.views.错误是:'module'对象没有属性'results'
它强调了这一行:{%url'django-admindocs-docroot'as docsroot%}
管理页面就像一个魅力,直到我得到教程的第3部分并与网址混淆,虽然我做的完全像他们说的所以我怀疑这是问题.
urls.py:
from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
(r'^polls/$', 'polls.views.index'),
(r'^polls/(?P<poll_id>\d+)/$', 'polls.views.detail'),
(r'^polls/(?P<poll_id>\d+)/results/$', 'polls.views.results'),
(r'^polls/(?P<poll_id>\d+)/vote/$', 'polls.views.vote'),
(r'^admin/', include(admin.site.urls)),
)
Run Code Online (Sandbox Code Playgroud)
admin.py:
from polls.models import Poll
from polls.models import Choice
from django.contrib import admin
class ChoiceInline(admin.TabularInline):
model = Choice
extra = 0
class PollAdmin(admin.ModelAdmin):
fieldsets = [
(None, {'fields': ['question']}),
('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),
]
inlines = [ChoiceInline]
list_display = ('question', 'pub_date')
list_filter = ['pub_date'] …Run Code Online (Sandbox Code Playgroud) QT是否提供控制进度条速度的任何功能?例如,如果我希望它每1秒增加1%,是否有任何QT方式来代替使用循环并在每次值变化之间休眠1秒?
如何使用C++构建依赖关系树?依赖树我的意思是,例如,检查某个程序运行所需的文件.通过检查,我可以找到是否有任何丢失或损坏的文件.
我该怎么办?
编辑:
我不是在找一个为我做的程序!
如何与C++中的网站进行交互?
例如,一个网站有一个保管箱,文本区域和一个按钮,我希望我的程序在文本区域内填充文本,从保管箱中选择一个选项,并使按钮触发其事件("点击"它).
我怎样才能实现这样的目标?
谢谢!