我正在阅读一些说明这一点的文件
第一个案例
char * p_var="Sack";
Run Code Online (Sandbox Code Playgroud)
将创建一个常量字符串文字.
因此代码就像
p_var[1]="u";
Run Code Online (Sandbox Code Playgroud)
因为那个财产会失败.
第二个案例
还提到的是,这仅适用于字符文字,而不适用于通过指针的其他数据类型.所以代码就像
float *p="3.14";
Run Code Online (Sandbox Code Playgroud)
将失败,导致编译器错误.
但是,当我尝试它时,我没有得到编译器错误,访问它虽然给了我0.000000f(在Ubuntu上使用gcc).
所以关于上面,我有三个问题:
为什么在First Case中创建的字符串文字是只读的?
为什么只允许创建字符串文字,而不是像浮点指针那样的其他常量?
3.为什么Second Case没有给我编译错误?
更新
请丢弃第3个问题和第2个案例.我通过添加引号来测试它.
谢谢
我将使用itertools生成一些组合,当我意识到随着元素数量的增加,所花费的时间将呈指数增长.我可以限制或指示要生成的最大排列数,以便itertools在达到该限制后停止.
我的意思是:
目前我有
#big_list is a list of lists
permutation_list = list(itertools.product(*big_list))
Run Code Online (Sandbox Code Playgroud)
目前,这种排列列表有超过600万个排列.我很确定如果我添加另一个列表,这个数字将达到十亿大关.
我真正需要的是大量的排列(比方说5000).有没有办法限制生成的permutation_list的大小?
在我目前使用Netty的大多数示例中,我看到boss执行器是一个缓存的线程池.根据我的理解,事件循环应该只有一个线程,为什么我们需要一个缓存的线程池用于boss事件循环?
哪一行是定义指针的正确(最佳)方式?
typedef ptrdiff_t pointer; // pointers are ptrdiff_t.
-- or --
typedef void* pointer; // pointers are void*.
pointer ptr = malloc(1024);
Run Code Online (Sandbox Code Playgroud) 我正在玩Java套接字,telnet似乎是一个模拟tcp客户端的好程序.
我不明白为什么telnet只在输入上发送数据?我不是在寻找黑客让它立即发送数据(因为它是可用的(通过telnet发送数据而不按回车))但我想了解telnet的内部工作/设计,这似乎是天生的.
我正在经历对c ++ 0x(C++ 11)中存在的多线程的新支持.
因此,每个线程都有一个std :: thread:id类型的唯一标识符.
考虑以下示例程序:
void hello_world()
{
std::cout<<"hello_world \n";
}
int main()
{
std::cout<<"Main thread id is "<<std::this_thread::get_id()<<"\n";
std::thread t(hello_world);
std::cout<<"Child thread id is ";
std::cout<<t.get_id()<<"\n";
t.join();
}
Run Code Online (Sandbox Code Playgroud)
我有一个示例输出如下:
主要线程ID是140502917359424
子线程ID是140502900623104
你好,世界
我的示例输出中主线程的线程ID大于子线程id的线程ID.
线程ID完全独立于它们的启动时间吗?
如果不是:有没有办法区分线程T1是否比线程T2早于线程T2?
我是java的新手,并且正在尝试使用Netty来构建示例tcp服务器.这是我目前的情况
package http_server;
import java.net.InetSocketAddress;
import java.nio.channels.SocketChannel;
import netty_tutorial.EchoServerHandler;
import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.ChannelInboundHandlerAdapter;
import io.netty.channel.ChannelInitializer;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.ServerSocketChannel;
import io.netty.channel.socket.nio.NioServerSocketChannel;
class server
{
ServerBootstrap bootstrap;
int port;
server(int port_)
{
port = port_;
bootstrap = new ServerBootstrap();
bootstrap.group(new NioEventLoopGroup());
bootstrap.channel(NioServerSocketChannel.class);
bootstrap.localAddress(new InetSocketAddress(port));
/**
* Add handlers using anonymous class
*/
/****PROBLEMATIC LINE*****/
bootstrap.childHandler(new ChannelInitializer<SocketChannel>()
{
@Override
protected void initChannel(SocketChannel ch) throws Exception {
// TODO Auto-generated method stub
System.out.println("hello");
}
}
);
}
}
public class simple_server
{
public …Run Code Online (Sandbox Code Playgroud)